SciML/DiffEqGPU.jl
GPU-acceleration routines for DifferentialEquations.jl and the broader SciML scientific machine learning ecosystem
What it solves
DiffEqGPU.jl provides the infrastructure to accelerate the solving of differential equations on GPUs. It addresses the problem of computationally expensive ODE solvers, specifically when dealing with either very large systems of equations or when needing to solve the same equation across thousands of different initial conditions or parameters (ensemble simulations).
How it works
The library implements two distinct acceleration paths:
- Within-Method Parallelism: For large ODEs where the state vector
uis massive, the library leverages GPU arrays (likeCuArray) to accelerate the computation of the system functionf. - Parameter-Parallelism: For smaller ODEs that need to be solved for many different starting points or parameters, it uses
EnsembleGPUArrayandEnsembleGPUKernelto parallelize the solving process across the GPU's many cores.
It supports a wide range of hardware backends, including NVIDIA (CUDA), AMD (ROCm), Intel (OneAPI), Apple M-Series (Metal), and OpenCL.
Who it’s for
Researchers and engineers working with scientific machine learning (SciML) and differential equations who need high-performance computing on GPU hardware across different vendors.
Highlights
- Multi-GPU Vendor Support: Works across NVIDIA, AMD, Intel, and Apple Silicon.
- Ensemble Solving: Specialized tools for solving thousands of ODE trajectories simultaneously.
- Integration: Part of the larger DifferentialEquations.jl ecosystem.
- Cross-Platform: Supports multiple kernel languages and backends.
Related
- Project
- Project
- Project
- Project
- Project