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.jl
solves a differential Riccati equation (DRE) having a low-rank solutiondemo/counting.jl
counts solver applications (demo for custom types)test/problems/diffeq-ode.jl
solves a linear ordinary differential equation (ODE) using OrdinaryDiffEq.jltest/problems/non-diffeq.jl
counts 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
.