PTsolvers / JustRelax.jl

Pseudo-transient accelerated iterative solvers
https://ptsolvers.github.io/JustRelax.jl/dev/
MIT License
26 stars 6 forks source link

JustRelax.jl JustRelax.jl

Dev Ask us anything DOI CI Build status codecov License: MIT

JustRelax.jl

:warning: This Package is still under active development

Need to solve a very large multi-physics problem on many GPUs in parallel? Just Relax!

JustRelax.jl is a collection of accelerated iterative pseudo-transient solvers using MPI and multiple CPU or GPU backends. It's part of the PTSolvers organisation and developed within the GPU4GEO project. Current publications, outreach and news can be found on the GPU4GEO website.

The package relies on other packages as building blocks and parallelisation tools:

The package serves several purposes:

We provide several miniapps, each designed to solve a well-specified benchmark problem, in order to provide

Installation

JustRelax.jl is a registered package and can be added as follows:

using Pkg; Pkg.add("JustRelax")

However, as the API is changing and not every feature leads to a new release, one can also do add JustRelax#main which will clone the main branch of the repository. After installation, you can test the package by running the following commands:

using JustRelax
julia> ]
  pkg> test JustRelax

The test will take a while, so grab a :coffee: or :tea:

Miniapps

Available miniapps can be found in the miniapps folder and will be updated regularly. The miniapps are designed to be simple and easy to understand, while still providing a good basis for more complex applications. The miniapps are designed to be run on a single node, but can be easily extended to run on multiple nodes using ImplicitGlobalGrid.jl and MPI.jl.

Benchmarks

Current (Blankenback2D, Stokes 2D-3D, thermal diffusion, thermal stress) and future benchmarks can be found in the Benchmarks.

Funding

The development of this package is supported by the GPU4GEO PASC project.