Published June 4, 2024 | Version GPU_v1
Software Open

fmihpc/vlasiator: Vlasiator GPU pre-release v1

Description

This pre-release is a functional first release of Vlasiator with support for NVIDIA GPUs via CUDA and AMD GPUs via HIP/ROCm. The same branch also supports building for CPUs just as before. Slight differences in output show up as a result of differing summation orders in e.g. moments reduction, but testpackage tests all pass with acceptable numerical diffs.

Known issues:

  • Block adjustment in acceleration can still be slow.
  • VDF-based data reducers are somewhat slow.
  • AMD performance is low and requires a mempool for operations (e.g. https://github.com/sfantao/vlasiator-mempool). Planned improvements include support for more robust memory management libraries.
  • Field solver and ionospheric grid solver have not yet been ported to GPUs.
  • GPU RDMA may not work on all systems, leading to poor MPI performance.
  • CUDA compute-sanitizer reports several invalid context errors on launch; these can be ignored.

This introduces the Hashinator library (https://github.com/fmihpc/hashinator) as a required submodule. Make sure to initialize and pull it as well. GPU compilation should use a GPU-compatible compiler for all objects; see e.g. MAKE/Makefile.mahti_cuda for instructions on how to set up a compiler.

Files

fmihpc/vlasiator-GPU_v1.zip

Files (13.9 MB)

Name Size Download all
md5:8e2ac5239b916e863eedc3fe809c0d43
13.9 MB Preview Download

Additional details

Related works

Is supplement to
Software: https://github.com/fmihpc/vlasiator/tree/GPU_v1 (URL)