[FEA]: Generalize autotuning to dynamically generated kernels
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
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
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de NVIDIA/cutile-python
-
[BUG]: check_dtype_support rejects family-conditional (sm_XXXa) gpu_code targetsPeut-être pris @sylvesterkaczmarek l’a pris il y a 30 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
NVIDIA/cutile-python#105 · 2 commentaires ·
-
nvidia-runners
Difficulté 2/5 1-3 heures Accessibilité débutants 25/100
NVIDIA/cutile-python#108 ·
-
[BUG]: FFT sample launches `Batch` blocks that each process the full batchPeut-être pris @AntonOresten l’a pris il y a 137 jours. Ouvertebug status: needs-triage
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
NVIDIA/cutile-python#102 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 68/100
NVIDIA/cutile-python#101 ·
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
NVIDIA/cutile-python#97 · 1 commentaire ·
Toutes les issues de NVIDIA/cutile-python
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
topoteretes/cognee#5647 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Sendspin/sendspin-python-cli#291 ·
Les mainteneurs répondent en général sous 6 jours
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
awslabs/visual-asset-management-system#414 ·
Les mainteneurs répondent en général sous 1 jour
-
bug v1 v2
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
modelcontextprotocol/python-sdk#3670 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
aicell-lab/bioengine#232 ·
Les mainteneurs répondent en général sous 1 jour