Automated Translation and Accelerated Solving of Differential Equations on Multiple GPU Platforms

04/13/2023
by   Utkarsh Utkarsh, et al.
0

We demonstrate a high-performance vendor-agnostic method for massively parallel solving of ensembles of ordinary differential equations (ODEs) and stochastic differential equations (SDEs) on GPUs. The method is integrated with a widely used differential equation solver library in a high-level language (Julia's DifferentialEquations.jl) and enables GPU acceleration without requiring code changes by the user. Our approach achieves state-of-the-art performance compared to hand-optimized CUDA-C++ kernels, while performing 20-100× faster than the vectorized-map (vmap) approach implemented in JAX and PyTorch. Performance evaluation on NVIDIA, AMD, Intel, and Apple GPUs demonstrates performance portability and vendor-agnosticism. We show composability with MPI to enable distributed multi-GPU workflows. The implemented solvers are fully featured, supporting event handling, automatic differentiation, and incorporating of datasets via the GPU's texture memory, allowing scientists to take advantage of GPU acceleration on all major current architectures without changing their model code and without loss of performance.

READ FULL TEXT

page 8

page 10

research
07/17/2022

Parallelizing Explicit and Implicit Extrapolation Methods for Ordinary Differential Equations

Numerically solving ordinary differential equations (ODEs) is a naturall...
research
09/30/2019

Multistep schemes for solving backward stochastic differential equations on GPU

The goal of this work is to parallelize the multistep scheme for the num...
research
08/11/2019

SODECL: An Open Source Library for Calculating Multiple Orbits of a System of Stochastic Differential Equations in Parallel

Stochastic differential equations (SDEs) are widely used to model system...
research
06/26/2019

Investigating the OPS intermediate representation to target GPUs in the Devito DSL

The Devito DSL is a code generation tool for the solution of partial dif...
research
03/05/2023

Acceleration of a production Solar MHD code with Fortran standard parallelism: From OpenACC to `do concurrent'

There is growing interest in using standard language constructs for acce...
research
11/02/2020

Toward Performance-Portable PETSc for GPU-based Exascale Systems

The Portable Extensible Toolkit for Scientific computation (PETSc) libra...

Please sign up or login with your details

Forgot password? Click here to reset