Solving ordinary differential equations with CUDA

August 8th, 2011

Odeint is a high level C++ library for solving ordinary differential equations. It is released under an open-source license and supports a variety of different methods for solving ODEs. As a special feature it supports different algebras which perform the basic mathematical operations. This allows the user to solve ordinary differential equations on modern graphic cards. A Thrust interface is implemented, so that the power of CUDA can easily be employed. Furthermore, arbitrary precision types can easily be supported. 

Possible applications for solving ordinary differential equations on GPUs are large systems of coupled ODEs or parameter studies where complete ensembles of different systems are solved in parallel. The documentation show some basic examples. Features include:

  • Various solvers
  • Runge-Kutta-Nystroem solvers for symplectic and Hamiltonian systems
  • Solvers for stiff systems
  • Multi-step methods etc.
  • Support for various state types and ways of performing the basic mathemtical operations
  • Support for Thrust, allowing the ODE solution on GPUs.

The source code is available at Github, as well as full documentation.

 

  • CHEN LIPENG

    this is a very useful packpage