[FEA]: Generalize autotuning to dynamically generated kernels
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 45/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- python
- Bereich
- backend, performance
Rechercherichtung
Beginne damit, den im Issue beschriebenen Einstiegspunkt exhaustive_search und die Verwendung von _TimingCandidate zu lesen. Verfolge anschließend, wie Konfigurationen derzeit Kernel, Grids, Hints und Argumente erzeugen. Die Arbeit ist abgeschlossen, wenn exhaustive_search Kernel und Argumente unterstützen kann, die aus jeder Konfiguration erzeugt wurden, und dabei das bestehende Verhalten mit festen Kernels sowie die Autotuning-Kandidaten erhalten bleiben.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- Vorherrschende Sprache
- Python
- Sterne
- 2.2k
- Forks
- 155
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus NVIDIA/cutile-python
-
[BUG]: check_dtype_support rejects family-conditional (sm_XXXa) gpu_code targetsEvtl. vergeben @sylvesterkaczmarek hat das vor 30 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
NVIDIA/cutile-python#105 · 2 Kommentare ·
-
nvidia-runners
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 25/100
NVIDIA/cutile-python#108 ·
-
[BUG]: FFT sample launches `Batch` blocks that each process the full batchEvtl. vergeben @AntonOresten hat das vor 138 Tagen übernommen. Offenbug status: needs-triage
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
NVIDIA/cutile-python#102 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 68/100
NVIDIA/cutile-python#101 ·
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
NVIDIA/cutile-python#97 · 1 Kommentar ·
Alle Issues in NVIDIA/cutile-python
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
NousResearch/hermes-agent#136483 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 1 Tag
-
[BUG] LazyStackedTensorDictStore zeroes the last byte of a new key set on the last elementEvtl. vergeben @peterdsharpe hat das heute übernommen. Offenbug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
pytorch/tensordict#2307 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
GrokModel.generate/a_generate pass an OpenAI-style list-of-dicts to xai_sdk.chat.user(), so every call crashes with a protobuf TypeError before any network I/OEvtl. vergeben @Christian-Sidak hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
confident-ai/deepeval#3436 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag