`Multistep(carrier_frame="scalar")` is refused on device builds, and costs more than it should on cheap sources

Aperta
#355 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

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

Direzione di ricerca

Start with native/src/solprop_native/backend.py around the device-build refusal of carrier_frame="scalar" and tests/backends/test_native_march_admission.py where the test is skipped on devices. The GPU parity tests are in tests/backends/test_carrier_frame.py, and the first step is to read SEP 39 against the current march before running anything. Done means both vendors either pass the budgets and the refusal is lifted, or the recorded reason is kept, plus a before/after Kerr-only ratio on CPU.

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

Descrizione

area: gpu area: steppers performance priority: low testing
What happens

Multistep(carrier_frame="scalar") (SEP 35) removes the pulse's mean phase velocity from the Adams march's history. Two gaps remain.

Device builds refuse it by name. backend.py passes no delivered policy on a device, the table says so, and the admission test skips there. The plan was a short GPU segment on one NVIDIA and one AMD device, running the compiled parity tests and the ten-step timing. No such run is recorded. Since then SEP 39 moved the chord's upload, shift and rotations into the native engine, so that plan has to be read against the current march. Read, not run.

It costs more than it should on a cheap source, one that is mostly Kerr. These are SEP 35's numbers, on native and on CPU:

Why it matters

A user on a GPU cannot use a method SEP 35 found fastest on ctc_reduced at matched error. On a cheap source the cost counts against the policy's 1.1 times criterion wherever it saves few calls.

To do

What must not change: carrier_frame="off" and the default, on any build. #97 holds other carrier-frame follow-ups, and #77 the frame's choice beside third-harmonic generation.

Done when

Device builds run "scalar" within the same budgets on both vendors, or refuse it with the recorded reason. On native CPU the ten-step Kerr-only ratio is measured before and after the fusion on one idle machine, and the fusion is kept only if it lowers the ratio with the same steps.


Checked against commit 8a9f764. Takes over the roadmap's entry "The Adams carrier frame on devices and on cheap sources".

Lingua principale
Python
Stelle
3
Fork
3
Merge medio
6h 28m
PR unite (30g)
126

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.