torchode: A Parallel ODE Solver for PyTorch

10/22/2022
by   Marten Lienen, et al.
0

We introduce an ODE solver for the PyTorch ecosystem that can solve multiple ODEs in parallel independently from each other while achieving significant performance gains. Our implementation tracks each ODE's progress separately and is carefully optimized for GPUs and compatibility with PyTorch's JIT compiler. Its design lets researchers easily augment any aspect of the solver and collect and analyze internal solver statistics. In our experiments, our implementation is up to 4.3 times faster per step than other ODE solvers and it is robust against within-batch interactions that lead other solvers to take up to 4 times as many steps.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/02/2016

Development of Krylov and AMG linear solvers for large-scale sparse matrices on GPUs

This research introduce our work on developing Krylov subspace and AMG s...
research
05/25/2019

Robust Task-Parallel Solution of the Triangular Sylvester Equation

The Bartels-Stewart algorithm is a standard approach to solving the dens...
research
06/02/2016

Parallel Triangular Solvers on GPU

In this paper, we investigate GPU based parallel triangular solvers syst...
research
04/22/2016

Opt: A Domain Specific Language for Non-linear Least Squares Optimization in Graphics and Imaging

Many graphics and vision problems can be expressed as non-linear least s...
research
02/17/2022

On the evaluation of (meta-)solver approaches

Meta-solver approaches exploits a number of individual solvers to potent...
research
01/10/2018

Task parallel implementation of a solver for electromagnetic scattering problems

Electromagnetic computations, where the wavelength is small in relation ...
research
08/26/2022

Improving the Efficiency of Gradient Descent Algorithms Applied to Optimization Problems with Dynamical Constraints

We introduce two block coordinate descent algorithms for solving optimiz...

Please sign up or login with your details

Forgot password? Click here to reset