ParaReal.jl
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
Getting started
The package can be installed from Julia's REPL:
pkg> dev git@gitlab.mpi-magdeburg.mpg.de:jschulze/ParaReal.jl.git
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)
Before running the demos, make sure to initialize the git submodules:
cd path/to/ParaReal.jl
git submodule update --init
License
The ParaReal package is licensed under MIT, see LICENSE
.
This does not cover files in demo/vendor/
which are redistributed under their respective licenses: