Qualify the transverse edge's host reads on GPU builds (CUDA, HIP, Metal)

Chiusa
#385 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@jtravs ci sta già lavorando.

Dal 4/11/2026.

  • #520 di @jtravs — aperta

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
12/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
python
Ambito
performance

Direzione di ricerca

Start with the transverse-edge parity tests in tests/backends/test_transverse_backends.py and the CPU/MLX paths they exercise. The work needs a CUDA and a HIP build of solprop-native, which a newcomer probably cannot run, and it may mean moving edge reductions into the native memory space. Done means the parity tests pass on GPU builds and host-transfer cost is measured against SEP 40 §7.7's 2 % budget.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

area: boundaries area: gpu priority: low

SEP 40 (PR #71) has every backend read the free-space transverse edge on the host. The native device builds (CUDA, HIP) and mlx copy their state to the host at each read, and with a requested SpatialAbsorber collar at every committed step. Both paths are compiled and tested against numpy_ref on the CPU and on MLX's Metal device, but neither is qualified on a GPU.

Wanted

  • Run the transverse-edge parity tests (tests/backends/test_transverse_backends.py) on a CUDA and a HIP build of solprop-native.
  • Measure the host transfers per read and per collar step on production free-space sizes.
  • If the transfers cost more than SEP 40 §7.7's 2 % on a clean run, move the edge's reductions (face shares, ramp ledger, collar strip and inward current) into the native memory space, as the boundary monitor's temporal sums already are.

Related: the GPU tracker #367.

Lingua principale
Python
Stelle
3
Fork
3
Merge medio
8h 14m
PR unite (30g)
151

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di LupoLab/solprop

Tutte le issue di LupoLab/solprop

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.