A parareal orchestrator written in Julia.
It has been tested on a Slurm allocation using 450 cores on 29 nodes.
Main features:
- Arbitrary problem and solution types
- Lazy data management (does not implicitly send data to calling process)
- Heterogeneous parareal values/iterates w.r.t. storage size and data type
- Parallel warm-up of solvers
- Logging solver start and stop times
The package can be installed from Julia's REPL:
import Pkg
Pkg.add("ParaReal")Check out the demo and test files:
demo/riccati.jlsolves a differential Riccati equation (DRE) having a low-rank solutiondemo/counting.jlcounts solver applications (demo for custom types)test/problems/diffeq-ode.jlsolves a linear ordinary differential equation (ODE) using OrdinaryDiffEq.jltest/problems/non-diffeq.jlcounts time discretization points (test for custom types)
I would like to thank the code reviewers:
- Martin Köhler (https://github.com/grisuthedragon)
- Kathryn Lund (https://github.com/katlund)
The ParaReal package is licensed under MIT, see LICENSE.