torchode: A Parallel ODE Solver for PyTorch
Marten Lienen, Stephan G\"unnemann

TL;DR
TorchODE is a GPU-optimized, parallel ODE solver for PyTorch that significantly accelerates solving multiple ODEs simultaneously while maintaining robustness and flexibility for researchers.
Contribution
It introduces a parallel ODE solver for PyTorch that tracks multiple ODEs independently, achieving substantial performance improvements and enhanced flexibility.
Findings
Up to 4.3x faster per step than existing solvers
Robust against within-batch interactions, reducing step count
Compatible with PyTorch's JIT compiler
Abstract
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. Code available at https://github.com/martenlienen/torchode
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems · Advanced Data Storage Technologies
