
This new Vlasiator release adds: Full support for GPU computation on HPC environments to Vlasiator, targeting both Nvidia (CUDA) and AMD (HIP) platforms. A subgrid-scale wave-particle scattering model (implemented as velocity space diffusion) has been added for magnetosheath waves. Vorticity and temperature / pressure anisotropy can now be taken into account for mesh refinement criteria. Improved the code's runtime resilience by including a mechanism to write frequent recovery files using a circular buffer scheme. The code is now ported (or portable) to all EuroHPC machines, as of December 2025. In addition, there are a large number of bugfixes to time-varying inflow, system boundary handling, ionosphere stability and overall quality of life. More detailed list of what's Changed: Added blocks gather code for FALLBACK vectors by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/444 Vec8Simple by @ykempf in https://github.com/fmihpc/vlasiator/pull/445 Some openacc experiments in the acceleration solver. by @ursg in https://github.com/fmihpc/vlasiator/pull/446 Support of MPI ranks sharing GPUs. by @ykempf in https://github.com/fmihpc/vlasiator/pull/447 Restructured OpenACC acceleration solver to parallelize over columns. by @ursg in https://github.com/fmihpc/vlasiator/pull/448 Cudasiator mutator, split plm/ppm/pqm etc back into .cuh files by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/595 Cudasiator realf vectorclass by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/597 Implementation of CUDA streams (one per thread) by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/616 Cudasiator by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/790 Vlasiator gpu by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/799 Added testpackage script for mahti_cuda by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/803 ARCH fixes to LUMI-G compilation, squelch some warnigns, added NOMAD … by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/805 Cudasiator pre-NOMAD-Hackathon fixes by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/806 Cudasiator preparation for the NOMAD hackathon by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/808 Fix project initialization fixing due to bogus free by @ursg in https://github.com/fmihpc/vlasiator/pull/809 Deactivated xnack on LUMI, added trial config for all datareducers by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/810 Add -march=znver3 to lumi gpu makefiles by @ursg in https://github.com/fmihpc/vlasiator/pull/811 Don't NACK in the lumi gpu testpackage script by @ursg in https://github.com/fmihpc/vlasiator/pull/813 Recapacitate splitVectors in acceleration if they are too small. by @ursg in https://github.com/fmihpc/vlasiator/pull/812 Added method for applying reservation and call it after LB. Also swit… by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/814 Stop your damn timers! by @lkotipal in https://github.com/fmihpc/vlasiator/pull/815 Fix timer by @lkotipal in https://github.com/fmihpc/vlasiator/pull/816 Fix arch-interface issues in DRO and add HIP kernel launch error checking by @hokkanen in https://github.com/fmihpc/vlasiator/pull/817 Fix kernel launch issue and dynamic shared memory type size issue by @hokkanen in https://github.com/fmihpc/vlasiator/pull/819 Fix issue with restart_read testpackage test in GPU branch by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/835 Gpu fix restarts, update to dev by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/837 Prefer --offload-arch over the deprecated --amdgpu-target and fix commit parsing in Makefile. by @sfantao in https://github.com/fmihpc/vlasiator/pull/844 Use multiple handlers of device mesh wrapper to avoid relocatable code device builds by @sfantao in https://github.com/fmihpc/vlasiator/pull/868 Avoid rdc device code mk2 by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/872 Vlasiator gpu fix cpu compilation and running by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/922 Purge all remaining references to velocity mesh refinement by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/923 Vlasiator gpu bring up to date with dev by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/924 Vlasiator gpu fix timevarying by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/928 fix gpu translation DZ access from pencils by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/929 Vlasiator_gpu update on LUMI to 23.09 by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/936 Fix compute-time loop by @hokkanen in https://github.com/fmihpc/vlasiator/pull/938 Updated Mahti_cuda makefile to use gcc-10.4.0 and cuda-12.1.1 by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/937 Reverting submodule urls to https instead of ssh, for easier accessib… by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/945 Gpu update - new block adjustment algorithm and plenty of other improvements by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/958 Gpu remove map add by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/962 Fix GPU branch crash on several MPI Tasks by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/965 Optimizations to translation memory ordering, and fix to broken ifdefs by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/972 Vlasiator gpu hashinator update by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/979 GPU: Update Hashinator interface to use templated prefetch deactivations by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/978 Removed block offset evaluation kernel in ACC; included functionality… by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/980 Add OMP support for ARCH host backend by @hokkanen in https://github.com/fmihpc/vlasiator/pull/969 Vlasiator gpu branch, fix dynamic AMR operations by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/981 Purged config references to the GPUBLOCKS / CUDABLOCKS parameter and … by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/983 Gpu single trans kernel launch dev by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1021 Split cell transfer into a number of passes in load balance. by @ykempf in https://github.com/fmihpc/vlasiator/pull/1017 Different trans thread guide by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1032 Update vlasiator to use updated fsgrid constructor by @cscjlan in https://github.com/fmihpc/vlasiator/pull/1019 Lumi 2403 makefile by @JonasSuni in https://github.com/fmihpc/vlasiator/pull/1031 GCC 13.2.0 carrington by @ykempf in https://github.com/fmihpc/vlasiator/pull/1035 Update DCCRG commit by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1037 Caching of DCCRG FSgrid coupling by @veetihaaja in https://github.com/fmihpc/vlasiator/pull/1012 Better documentation for alpha1 constituent weighting by @lkotipal in https://github.com/fmihpc/vlasiator/pull/1001 Fix check vlasiator cfg script by @ykempf in https://github.com/fmihpc/vlasiator/pull/1024 Add jemalloc purge calls to after shrink_to_fit and deallocation of r… by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1027 Makefile (and small library build script fix) for Meluxina. by @ursg in https://github.com/fmihpc/vlasiator/pull/1041 Use curl instead of wget in build_libraries.sh by @ursg in https://github.com/fmihpc/vlasiator/pull/1047 Make chunk data script use 5 GB chunks, for Allas by @JonasSuni in https://github.com/fmihpc/vlasiator/pull/1046 Correct EGradPe/derivatives communications in subcycling by @ykempf in https://github.com/fmihpc/vlasiator/pull/1038 fsgrid RAII by @lkotipal in https://github.com/fmihpc/vlasiator/pull/918 No L2 NOT_SYSBOUNDARY EXB nudge by @ykempf in https://github.com/fmihpc/vlasiator/pull/1050 GradPe fix cleanup by @ykempf in https://github.com/fmihpc/vlasiator/pull/1051 Build testpackage data with new gcc version on carrington. by @ursg in https://github.com/fmihpc/vlasiator/pull/1054 Fixed typo in documentation. by @ykempf in https://github.com/fmihpc/vlasiator/pull/1056 Reverse direction when stepping back to hit exact radius when tracing. by @ykempf in https://github.com/fmihpc/vlasiator/pull/1057 New amr criteria by @lkotipal in https://github.com/fmihpc/vlasiator/pull/1022 Multipop pressure anistropy by @lkotipal in https://github.com/fmihpc/vlasiator/pull/1052 Ghost translation dev merge by @ursg in https://github.com/fmihpc/vlasiator/pull/1060 Ghost translation by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1006 Dccrg RAII by @lkotipal in https://github.com/fmihpc/vlasiator/pull/953 Multipop pressure anistropy by @lkotipal in https://github.com/fmihpc/vlasiator/pull/1061 Update C++ standard from C++17 to C++20 in Makefile.lumi_gnu_2403 by @JonasSuni in https://github.com/fmihpc/vlasiator/pull/1063 Fix a broken error message in pencil construction. by @ursg in https://github.com/fmihpc/vlasiator/pull/1071 Slope limiter pass by reference by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1069 Limit tracing volume by @ykempf in https://github.com/fmihpc/vlasiator/pull/1055 Simple matplotlib plotter to help setting VDF parameters. by @ykempf in https://github.com/fmihpc/vlasiator/pull/1073 Inspection script mechanism to use srun overlap. Works on LUMI at least. by @ykempf in https://github.com/fmihpc/vlasiator/pull/1068 Node hours report by @ArnaudLalague in https://github.com/fmihpc/vlasiator/pull/1053 Use ARCH=arch in VLSV build by @ykempf in https://github.com/fmihpc/vlasiator/pull/1075 Activate report grid memory consumption by @ykempf in https://github.com/fmihpc/vlasiator/pull/1020 Vlasiator gpu by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1074 Warning to check dd_chunk.err in the file handling scripts. by @ykempf in https://github.com/fmihpc/vlasiator/pull/1090 update DCCRG submodule by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1089 Fix order for running test printouts in CI by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1097 Add support for multiple boxes where refinement is allowed by @JonasSuni in https://github.com/fmihpc/vlasiator/pull/1095 Reduce some specific timers that cause a wide spread of phiprof files. by @ykempf in https://github.com/fmihpc/vlasiator/pull/1098 Reorder memory report lines in logfile. by @ykempf in https://github.com/fmihpc/vlasiator/pull/1094 GPU improved launch parameters, memory usage, etc. by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1100 Fix un/refinement not working if no boxes are defined by @JonasSuni in https://github.com/fmihpc/vlasiator/pull/1105 CI flag builds in dev by @ykempf in https://github.com/fmihpc/vlasiator/pull/1104 Periodically overwriting restarts by @ykempf in https://github.com/fmihpc/vlasiator/pull/1092 Citations file to repo by @ykempf in https://github.com/fmihpc/vlasiator/pull/1067 Hile makefiles by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1107 Improve documentation of EgradPe term in field solver code. by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1106 Revert addition of std::format from PR #1094 by @ursg in https://github.com/fmihpc/vlasiator/pull/1101 Add SIGTERM signal handler, for slurm preemption. by @ursg in https://github.com/fmihpc/vlasiator/pull/1059 Remove vec from fluxfunction and fix compilation by @ykempf in https://github.com/fmihpc/vlasiator/pull/1029 Fix refine/coarsen logging by @lkotipal in https://github.com/fmihpc/vlasiator/pull/1036 Reorder acceleration preparations so that always-on-cpu tasks are sep… by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1112 Typo fix by @JonasSuni in https://github.com/fmihpc/vlasiator/pull/1111 Further improvements to egradpe documentation based on user feedback. by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1114 Return to considering has_content blocks of spatial neighbours at all… by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1115 Alternative Fieldsolver magnetic field boundary cell parallel approach by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1110 Sub-grid model for pitch-angle diffusion by @MaximeII in https://github.com/fmihpc/vlasiator/pull/846 Fix generate ref data on Carrington by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1117 SysBoundary communicate VDFs only in smaller neighborhood by @ykempf in https://github.com/fmihpc/vlasiator/pull/1049 Fix pop_1dmuspace output reducer which was corrupting some testpackag… by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1119 prevent VBC shrink on AMD-G (still not working), switch lumi_hipcc to… by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1118 Add CI action for generating reference testpackage data on Ukko DGX by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1120 Correct dependency name in generate reference data action by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1123 Fix gpu moments by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1124 Bin pencils by @lkotipal in https://github.com/fmihpc/vlasiator/pull/1096 Rewritten Acceleration solver for GPUs by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1125 Vlasiator GPU to propagate WID3 at once in acceleration as well by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1129 GPU pitch angle diffusion by @MikaelHuppunen in https://github.com/fmihpc/vlasiator/pull/1128 Dev alfven double normalization fix by @veetihaaja in https://github.com/fmihpc/vlasiator/pull/1136 Remove useless loop by @ykempf in https://github.com/fmihpc/vlasiator/pull/1138 Fix comment typos in parameters.cpp by @OssiLeopold in https://github.com/fmihpc/vlasiator/pull/1134 Gpu optimization by @MikaelHuppunen in https://github.com/fmihpc/vlasiator/pull/1141 GPU bin pencils by @MikaelHuppunen in https://github.com/fmihpc/vlasiator/pull/1143 Vlsvdiff WID fixes by @lkotipal in https://github.com/fmihpc/vlasiator/pull/1151 Add Hile-G TP build CI job by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1132 Ci docker and artifact version updates by @ursg in https://github.com/fmihpc/vlasiator/pull/1165 At BSC, run risc-v CI on pioneer cluster instead of synth-hca by @ursg in https://github.com/fmihpc/vlasiator/pull/1168 Encapsulate analysator to venv and let analysator handle its dependencies. by @alhom in https://github.com/fmihpc/vlasiator/pull/1166 Fix multi-gpu buffer allocations issue by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1142 HILE-C CI scripts by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1156 Add Mahti gcc_build makefile to support library building scripts, tra… by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1145 Scaling results run on Mahti, with extracted data, plotting scripts and resulting plots. by @ykempf in https://github.com/fmihpc/vlasiator/pull/1131 Phiprof acc chunk fix by @markusbattarbee in https://github.com/fmihpc/vlasiator/pull/1159 Add width specifier to fscanf to fix stack-buffer-overflow by @kstppd in https://github.com/fmihpc/vlasiator/pull/1121 Fix incorrect vorticity (Fixes #1148) by @JonasSuni in https://github.com/fmihpc/vlasiator/pull/1149 Refine report improvements by @lkotipal in https://github.com/fmihpc/vlasiator/pull/1147 Added warning in inflow.cpp loadFile() by @lassejsc in https://github.com/fmihpc/vlasiator/pull/1195 Added a GPU memory manager by @MikaelHuppunen in https://github.com/fmihpc/vlasiator/pull/1170 Add option to disable finite differencing at sysboundaries by @JonasSuni in https://github.com/fmihpc/vlasiator/pull/1190 Reapply initial state in boundary cells after setProjectBField by @JonasSuni in https://github.com/fmihpc/vlasiator/pull/1193 Do not reapply solved B components in boundary cells except at simulation start by @JonasSuni in https://github.com/fmihpc/vlasiator/pull/1194 Copy fsgrid moments to outflow after filtering them by @JonasSuni in https://github.com/fmihpc/vlasiator/pull/1202 Synchronize mpiGrid and FsGrid after inflow update by @JonasSuni in https://github.com/fmihpc/vlasiator/pull/1204 Improvements to GPU memory manager by @MikaelHuppunen in https://github.com/fmihpc/vlasiator/pull/1199 Add a friendly banner at the top of Makefile, for no reason at all. by @ursg in https://github.com/fmihpc/vlasiator/pull/1198 Implement Vectorclass Supporting SVE Instructions by @lnghrdntcr in https://github.com/fmihpc/vlasiator/pull/1127 GitHub pages Doxygen generation by @alhom in https://github.com/fmihpc/vlasiator/pull/1205 Remove MacOS from CI builds, try building on github arm64 instead. by @ursg in https://github.com/fmihpc/vlasiator/pull/1206 Fixed a bug in GPU memory manager by @MikaelHuppunen in https://github.com/fmihpc/vlasiator/pull/1197 New Contributors @sfantao made their first contribution in https://github.com/fmihpc/vlasiator/pull/844 @cscjlan made their first contribution in https://github.com/fmihpc/vlasiator/pull/1019 @MaximeII made their first contribution in https://github.com/fmihpc/vlasiator/pull/846 @MikaelHuppunen made their first contribution in https://github.com/fmihpc/vlasiator/pull/1128 @OssiLeopold made their first contribution in https://github.com/fmihpc/vlasiator/pull/1134 @lassejsc made their first contribution in https://github.com/fmihpc/vlasiator/pull/1195 @lnghrdntcr made their first contribution in https://github.com/fmihpc/vlasiator/pull/1127 Full Changelog: https://github.com/fmihpc/vlasiator/compare/v5.3.1...v5.4.0
If you use this software, please cite it as below.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 5 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Top 10% | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Top 10% |
