GRADSOLVE: fast exact gradients for ODE ensembles on GPUs

Alessio Spurio Mancini
9/2/2026
cs.MScs.DCcs.LG

Official code: ECLIPSE-AI4Science/gradsolve (5 stars, MIT, JAX, last commit 2026-09-03).

Abstract

Ordinary differential equations (ODEs) underlie models in science and engineering, and many applications need derivatives of their solutions with respect to parameters. Ensembles of independent trajectories suit graphics processing units (GPUs), but current GPU software forces a trade-off: the fastest ensemble solvers cannot be differentiated in reverse mode at the speed they solve, and the solvers built for differentiation solve more slowly. No single tool has yet offered a reverse-mode gradient at the speed of a fused-kernel solve. We present GRADSOLVE, an open-source JAX library for solving and reverse-mode differentiating low-dimensional ODE ensembles on NVIDIA GPUs. It records the steps an adaptive solver accepts and differentiates a fixed-step replay of them; the returned gradient is the exact discrete adjoint of those steps, the same derivative Diffrax returns by default, obtained more cheaply from a fixed-length chain than from an adaptive loop. It targets ensembles differentiated many times against one recorded mesh, keeps Diffrax as a fallback, and supports explicit and Rosenbrock integrators. Used as a solver, GRADSOLVE's forward-only kernel ran 2.8x faster than DiffEqGPU.jl; used for gradients, once a record exists, it computed them 5.6-14.1x faster than Diffrax's checkpointed adjoint at matched forward-state accuracy across three GPU generations, the advantage narrowing on large ensembles and, on stiff systems, down to parity at tight accuracy. GRADSOLVE is released at https://github.com/ECLIPSE-AI4Science/gradsolve.

View on arXivView PDF

Code Implementations(1)

JAXMIT

Differentiable ensemble solvers for differential equations on GPUs, in JAX

50Julia, PythonSep 2, 20261 months agoMIT
adjointautomatic-differentiationcudadifferential-equationsgpu+3 more

Cite this paper

@article{mancini2026gradsolve,
  title  = {GRADSOLVE: fast exact gradients for ODE ensembles on GPUs},
  author = {Alessio Spurio Mancini},
  year   = {2026},
  eprint = {2609.02876},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2609.02876v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2609.02876.svg)](https://codeofpaper.com/paper/2609.02876)

Discussion