Skip to content

mpimd-csc/ParaReal.jl

Repository files navigation

ParaReal.jl

A parareal orchestrator written in Julia.

Build Status Coverage

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:

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 solution
  • demo/counting.jl counts solver applications (demo for custom types)
  • test/problems/diffeq-ode.jl solves a linear ordinary differential equation (ODE) using OrdinaryDiffEq.jl
  • test/problems/non-diffeq.jl counts time discretization points (test for custom types)

Acknowledgments

I would like to thank the code reviewers:

License

The ParaReal package is licensed under MIT, see LICENSE.