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
The MHD equilibria cannot be created on CuPy yet. EQDSKequilibrium passes device arrays from xp.linspace to SciPy's RectBivariateSpline. Tokamak works around this by building its default equilibrium on NumPy (PR 19).
find which equilibria fail on CuPy (fields_background/equils.py)
keep host-only setup (fits, SciPy splines) on NumPy, and move the evaluation that runs in the time loop to the device
Done in #714: every equilibrium in fields_background/equils.py can be created and evaluated on CuPy. Host-only setup (SciPy fits, ODE solves, EQDSK files) runs on NumPy, and there are CuPy-vs-NumPy tests in fields_background/tests/test_equils_cupy.py. Evaluating GVEC/DESC fields on the device (instead of one host round trip per call) is tracked in #715.
Activity
Merge cuda-codegen-spike (#718) into polar-splines-cupy
MHD equilibria on the CuPy backend (#714)
max-models commentedon Oct 14, 2026
Done in #714: every equilibrium in
fields_background/equils.pycan be created and evaluated on CuPy. Host-only setup (SciPy fits, ODE solves, EQDSK files) runs on NumPy, and there are CuPy-vs-NumPy tests infields_background/tests/test_equils_cupy.py. Evaluating GVEC/DESC fields on the device (instead of one host round trip per call) is tracked in #715.MHD equilibria on the CuPy backend (#714)