oneAPI.jl shims: uncaught oneMKL exceptions, batched trsm pointer types, host sync per oneMKL call
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 22/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Ambito
- performance
Direzione di ricerca
Start by reading ext/SparseDirectSolverOneAPIExt.jl alongside PLAN §2.4, then inspect the oneMKL bindings and the @test_skip in test_api.jl. Reproduce the sytrf abort and the host-synchronizing shim behavior, and separate the upstream oneAPI.jl reports from the T32 benchmark work comparing :ka with oneMKL on regime-C fronts. Done means the upstream limitations are filed and the measurement is sufficient to decide whether :auto should move to :ka or use a width threshold.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Found while working on: T31 (PR #136)
What: limits of oneAPI.jl (main, 94aa6f2) that shape ext/SparseDirectSolverOneAPIExt.jl:
(a) the *_scratchpad_size C shims do not catch oneMKL exceptions, so sytrf (unsupported on the Data Center GPU Max 1550) aborts the process — there is no vendor_sytrf! binding for that reason;
(b) the generated onemklZtrsm_batch_strided binding declares Ptr{ComplexF32} arguments, and the strided-batch trsm bindings take host Ptrs, not ZePtrs — the extension passes typed raw pointers;
(c) every shim ends in wait_and_throw, so each oneMKL call synchronizes the host. On the regime-C :auto path (gemm/syrk/herk/trsm stay on oneMKL) every regime-C front therefore synchronizes, a deviation from PLAN §2.4 (no host synchronization in the numeric phase); :auto keeps LAPACK potrf/getrf on the KA kernels (_auto_vendor_dense);
(d) no cumulative device allocation counter, so device_allocated cannot be checked on oneAPI (@test_skip in test_api.jl).
Batched potrf/getrf report one status per batch, so uniform batches use the KA kernels.
Why it is out of scope: (a), (b), (d) are upstream oneAPI.jl issues; (c) needs a measurement of oneMKL BLAS vs allocation-free :ka per front width, which is T32 (#146) work.
Suggested fix or plan change: report (a), (b), (d) upstream; in T32, measure :ka vs oneMKL BLAS on regime-C fronts and move :auto to :ka (or a width threshold) if the synchronization costs more than the vendor BLAS gains.
- Lingua principale
- Julia
- Stelle
- 4
- Fork
- 0
- Merge medio
- 7h 54m
- PR unite (30g)
- 84
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna 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 exanauts/SparseDirectSolver.jl
-
found-by-agent performance upstream
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
exanauts/SparseDirectSolver.jl#174 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug enhancement metal on-hold performance
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
exanauts/SparseDirectSolver.jl#168 ·
I maintainer di solito rispondono entro 1 giorno
-
In-front Bunch–Kaufman pivoting for the fused pipeline: state of the closed prototypes #135 and #139Apertadesign-record enhancement found-by-agent fused madnlp
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
exanauts/SparseDirectSolver.jl#167 ·
I maintainer di solito rispondono entro 1 giorno
-
design-record enhancement found-by-agent performance
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
exanauts/SparseDirectSolver.jl#163 ·
I maintainer di solito rispondono entro 1 giorno
-
api found-by-agent
Difficoltà 4/5 1-2 giorni Idoneità per principianti 42/100
exanauts/SparseDirectSolver.jl#159 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di exanauts/SparseDirectSolver.jl
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
documentation invalid
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
JuliaPhysics/BeamletOptics.jl#190 ·
I maintainer di solito rispondono entro 1 giorno
-
mul! with a Symmetric or Hermitian factor throws for a matrix view whose columns are not contiguousForse già presa @dkarrasch l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
JuliaLang/LinearAlgebra.jl#1829 ·
I maintainer di solito rispondono entro 1 giorno
-
`EnsembleSummary` `ci_type = :SEM` ribbon is `sqrt(N)` too wide for scalar statesForse già presa @isaacsas l’ha presa 2 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
SciML/SciMLBase.jl#1654 ·
I maintainer di solito rispondono entro 3 giorni