NVIDIA / NVIDIA/nvmath-python

Julia JIT support for device APIs

Offen
#32 2 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Cython
Sterne
601
Forks
46
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

As header-only libraries based on CUTLASS, these only work in C++.

It would be nice to have e.g. the new DGEMM via IMMA (https://github.com/NVIDIA/CUDALibrarySamples/tree/master/MathDx/cuBLASDx/16_dgemm_emulation) inside Julia kernels.

Unfortunately, Warp/numba can only JIT compile a subset of python types, and not the (more general) Julia types that we require (e.g. differential equation solvers).

A potential way forward would be to compile libmathdx to PTX, link it in via LLVM, and get full performance via LTO. However, these often contain NVVM IR, which LLVM cannot handle.

Related discussion: https://discourse.julialang.org/t/using-cublasdx-in-julia/125527

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, das verlinkte cuBLASDx DGEMM emulation sample und die zugehörige Julia-Diskussion zu lesen. Das Issue nennt keine Repository-Dateien, Tests oder konkreten Einstiegspunkt und definiert keinen Abnahmetest für das Verlinken von libmathdx, PTX oder NVVM IR in Julia-Kernels.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp, julia, python
Bereich
compilers, hpc
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.