You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
The on_axis_* statistics copy the whole state to the host on device builds #359
Possibly not much. On a large Cartesian run the copy is the whole state at each such plane. Its cost has not been measured on a GPU, so that is the first step. Read, not run.
To do
Time a saved plane with and without on_axis_* on a data-centre GPU, on a Cartesian run of at least 384 x 384.
If the copy matters, add a one-row device scan through the existing plasma scan, keeping tests/backends/test_on_axis_statistics.py's parity against numpy_ref. If not, close this with the number.
Done when
The cost is recorded with device, grid and date, and either the statistics no longer copy the state on a device, with parity holding on a CUDA and a HIP build, or the issue closes because the copy is under 1 % of the run's time at one plane per 100 steps.
Checked against commit 8a9f764. Takes over the roadmap's entry "The on-axis statistics on device builds".
Activity
jtravs commentedon Nov 5, 2026
Measured and fixed in #520.
on_axis_intensityand theon_axis_*row now read one row on the device, so no state crosses.on_axis_intensitynowThe MI325X's first read of a run took 184 ms. I'd guess that's building its plan, but I didn't check. #520 will close this.