Are there any parallel or GPU versions of ode15s or ode45?

30 views (last 30 days)
Dear Matlab Users,
I have a Matlab code which uses ode15s to solve an ODE of the form f(t,y)y' = m(t,y) where f depends on both y and t and the mass function, m, depends on y only. As we increase the problem size the solver simply takes too long (many days) to complete.
Does a parallel (or GPU) version of ode15s or ode45 exist? and if so could someone point me to the appropriate documentation etc?
We only run the ODE solver once and thus using parfor or similar as has been suggested to other users won't help us unfortunately. We'd just like to reduce the computation time of the solver such that we can run larger problem sizes.
Many thanks for any advice or suggestions.
Fiona
  1 Comment
Rob Hudson
Rob Hudson on 19 Jul 2021
Hi Fiona,
I realize that answering this seven years late is not likely to help you very much, but I thought I'd put an answer here to help anyone who might have stumbled across this question. The algorithms used by ode45 and ode15s are inherently serial – each time they evaluate f(t,y), they pass parameters to it that rely on the previous evaluation of f(t,y). This means that they cannot be parallelized. MATLAB does not currently support any parallel ODE solvers.
Rob.

Sign in to comment.

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!