[FEA]: Generalize autotuning to dynamically generated kernels
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- python
- Ambito
- backend, performance
Direzione di ricerca
Inizia leggendo l’entry point exhaustive_search e l’utilizzo di _TimingCandidate descritti nell’issue, quindi segui il modo in cui le configurazioni producono attualmente kernel, grid, hint e argomenti. Il lavoro è completo quando exhaustive_search può supportare kernel e argomenti generati da ogni configurazione, preservando il comportamento esistente dei kernel fissi e i candidati di autotuning.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- Python
- Stelle
- 2.2k
- Fork
- 155
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di NVIDIA/cutile-python
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
NVIDIA/cutile-python#105 · 2 commenti ·
-
bug status: needs-triage
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
NVIDIA/cutile-python#102 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 68/100
NVIDIA/cutile-python#101 ·
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
NVIDIA/cutile-python#97 · 1 commento ·
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
NVIDIA/cutile-python#96 · 1 commento ·
Tutte le issue di NVIDIA/cutile-python
Issue simili
-
essnmx good first issue
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 95/100
-
[Feature] 奇物选择添加优先级 Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
syfoud/Simulated_Scepter#174 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Giskard-AI/giskard-oss#2840 · 1 commento ·
-
A claim comment carrying the issue number is silently declined while the workflow reports success Apertaarea: repo bug perceived difficulty: 2
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
yeti-platform/yeti#1380 ·