Boost logo

Boost Users :

Subject: Re: [Boost-users] parallelised ODE solvers
From: Mario Mulansky (mario.mulansky_at_[hidden])
Date: 2015-10-01 05:19:38


Hi vihan,

On Monday, September 28, 2015 11:02:21 AM Vihan Pandey wrote:
> Dear all,
>
> I am trying to integrate a simple 2 variable ODE system. I wanted to know
> which of the solvers listed here :
>
> http://www.boost.org/doc/libs/1_56_0/libs/numeric/odeint/doc/html/boost_nume
> ric_odeint/getting_started/overview.html
>
> are parallelised for multicore CPU’s and GPU’s? Perhaps using Thrust for
> the Nvidia/CUDA GPU end of things?

odeint provides parallelization backends for explicit steppers (RK methods)
based on CUDA (via thrust) [1], OpenCL [2] and OpenMP/MPI [3].

>
> I am principally interested if someone has managed to make/port a library
> for parallelised RK45 methods. Please note in later work I plan on having
> more ODE's - probably systems of 12-15 parameters though they will be all
> be first order equations.

In my experience, parallelization only makes sense if you have at least ~100
variables for CPUs, and at least ~100000 for GPUs. For smaller problems you
might be able to get some performance improvements by using SIMD [4,5].

Best,
Mario

[1]
http://www.boost.org/doc/libs/1_56_0/libs/numeric/odeint/doc/html/boost_numeric_odeint/tutorial/using_cuda__or_openmp__tbb_______via_thrust.html
[2]
http://www.boost.org/doc/libs/1_56_0/libs/numeric/odeint/doc/html/boost_numeric_odeint/tutorial/using_opencl_via_vexcl.html
[3]
http://www.boost.org/doc/libs/1_56_0/libs/numeric/odeint/doc/html/boost_numeric_odeint/tutorial/parallel_computation_with_openmp_and_mpi.html
[4] http://www.codeproject.com/Articles/841136/Boosting-ODE-simulations-with-Boost-odeint-and-Boo
[5] http://www.italiancpp.org/dettagli-meetup-firenze-2015/#cpu-power

>
> Thanks and Cheers!
>
> - vihan


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net