Simple multi-xPU diffusion solvers to showcase itertive accelerated solvers.
This repository contains a set of 2D explicit and iterative implicit diffusion solvers to run on xPU (CPU or GPU) using ParallelStencil.jl; the multi-xPU version uses ImplicitGlobalGrid.jl.
The scripts in this repo solve the time-dependent diffusion equation with variable coefficient:
qT = -λ ∇ T
ρCp dT/dt = -∇ ⋅ qT
using an explicit approach (diffusion_2D_expl_xpu.jl
) or an iterative implicit approach (diffusion_2D_impl_xpu.jl
) based on the pseudo-transient acceleration.
The multi-xPU code (diffusion_2D_expl_mxpu.jl
) allows to run the explicit diffusion example on multiple CPUs and GPUs using distributed memory parallelisation.
Further information on the accelerated pseudo-transient method can be found in the Räss et al. 2022 GMD discussion paper, extending the original idea from Frankel (1950).
Other usefull resources can be found here: