Backend Agnostic
Effortlessly execute your code on GPUs and CPUs with ParallelStencils.jl.
A collection of iterative accelerated pseudo-transient solvers using MPI for distributed computing on GPUs and CPUs.

JustRelax.jl is a collection of accelerated iterative pseudo-transient solvers using MPI for distributed memory parallelisation and running on GPUs or CPUs.
The package relies on other packages as building blocks and parallelisation tools:
ParallelStencil.jl - device agnostic parallel kernels
ImplicitGlobalGrid.jl - (GPU-aware) distributed parallelisation (MPI)
GeoParams.jl - Material physics
JustPIC.jl - Particle-in-cell advection
Current publications, outreach and news can be found on the GPU4GEO website.
To install JustRelax.jl, one can simply add it using the Julia package manager by running the following command in the Julia REPL:
julia> using Pkg
julia> Pkg.add("JustRelax")After the package is installed, one can load the package by using:
julia> using JustRelaxIf you want to use the latest unreleased version of JustRelax.jl, you can run the following command:
julia> using Pkg
julia> Pkg.add(url="https://github.com/PTsolvers/JustRelax.jl")Example and benchmark miniapps solving a variety of geodynamic-related problems can be readily run from the miniapps folder. To get started, instantiate the miniapps environment and run your favourite one:
cd miniapps
julia --project=.julia> import Pkg
julia> Pkg.instantiate()The development of this package is supported by the GPU4GEO and ∂GPU4GEO PASC projects. More information about the GPU4GEO project can be found on the GPU4GEO website.