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.