Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

[FEA]: Generalize autotuning to dynamically generated kernels

Ouverte
#91 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
45/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Calme
Stack technique
python
Domaine
backend, performance

Piste de recherche

Commencez par lire le point d’entrée exhaustive_search et l’utilisation de _TimingCandidate décrits dans l’issue, puis suivez la manière dont les configurations produisent actuellement les kernels, les grids, les hints et les arguments. Le travail est terminé lorsque exhaustive_search peut prendre en charge les kernels et les arguments générés à partir de chaque configuration, tout en préservant le comportement existant des kernels fixes et les candidats d’autotuning.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

feature request status: triaged
Is this a new feature, an improvement, or a change to existing functionality?

Improvement

How would you describe the priority of this feature request?

Low (would be nice)

Please provide a clear description of problem this feature solves

Currently, exhaustive_search takes a single fixed kernel and construct arguments from an arbitrary sequence of configurations. That it takes a fixed kernel makes it unusable in its current form if the config objects themselves generates the kernel.

Feature Description

I'm currently using cutile and metaprogramming to generate kernels, with much better success and less pain than other frameworks. However, I can't use exhaustive_search in its current form, but need to modify it to take kernel generating functions.

Describe your ideal solution

The proposal is essentially to change exhaustive_search, or add a separate case, where we generate the kernel candidate from a config, i.e:

    ... 
    for i, cfg in enumerate(search_space):
        if not quiet and isatty:
            progress(0, i, total, len(errors))
        grid = grid_fn(cfg)
        kernel = kernel_fn(cfg)
        hints = hints_fn(cfg) if hints_fn is not None else {}
        updated_kernel = kernel.replace_hints(**hints)
        candidate = _TimingCandidate(
            config=cfg,
            grid=grid,
            kernel=updated_kernel,
            get_args=lambda _cfg=cfg: args_fn(_cfg),
        )
     ...
Describe any alternatives you have considered

No response

Additional context

No response

Contributing Guidelines
  • I agree to follow cuTile Python's contributing guidelines
  • I have searched the open feature requests and have found no duplicates for this feature request
Langage dominant
Python
Étoiles
2.2k
Forks
155
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de NVIDIA/cutile-python

Toutes les issues de NVIDIA/cutile-python

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.