High-performance xPU Stencil Computations in Julia
We present an efficient approach for writing architecture-agnostic parallel high-performance stencil computations in Julia, which is instantiated in the package ParallelStencil.jl.Powerful metaprogramming, costless abstractions and multiple dispatch enable writing a single code that is suitable for both productive prototyping on a single CPU thread and high performance production runs on GPU or CPU workstations or, if used in combination with distributed parallelization packages as ImplicitGlobalGrid.jl, on supercomputers.We demonstrate performance close to the theoretical upper bound on GPUs for a 3-D heat diffusion solver, which is a massive improvement over reachable performance with CUDA.jlArray programming.
Authors
- Ludovic Räss (ORCID: https://orcid.org/0000-0002-1136-899X)
- Samuel Omlin (ORCID: https://orcid.org/0000-0001-8969-5619)
Publication Details
- Journal
- JuliaCon Proceedings
- Published
- 2024-10-08
- DOI
- https://doi.org/10.21105/jcon.00138
- Citations
- 5
- Primary Topic
- Fluid Dynamics Simulations and Interactions
- Type
- article
- Field-Weighted Citation Impact
- 1.87
Funders
- Eidgenössische Technische Hochschule Zürich
- Centro Svizzero di Calcolo Scientifico
- National Supercomputing Centre Singapore