DiffEqGPU.jl icon indicating copy to clipboard operation
DiffEqGPU.jl copied to clipboard

Add stepping to GPU integrators

Open ggkountouras opened this issue 11 months ago • 2 comments

Is your feature request related to a problem? Please describe.

step!(integ, dt, true) fails on GPURosenbrock23() with add_tstop!: method has not been implemented for the integrator

Describe the solution you’d like

Stepping should be added to GPU integrators (as is the case for CPU integrators).

Additional context

Stepping might also affect ensembles.

ggkountouras avatar Mar 06 '24 15:03 ggkountouras

I'm not sure this can be done on t he GPU. You want to make there be a single kernel call, and a stepping interface makes there be more intermediate state memory that needs to be stored.

ChrisRackauckas avatar Mar 07 '24 23:03 ChrisRackauckas

You only need one kernel. Start it on DiffEqGPU.init(), after that every step!() is CPU-GPU communication.

ggkountouras avatar Mar 08 '24 12:03 ggkountouras