Published December 10, 2025
| Version v5.4.0
Software
Open
Vlasiator
Creators
-
Pfau-Kempf, Yann
-
Ganse, Urs
-
Battarbee, Markus
-
Kotipalo, Leo
-
Koskela, Tuomas
- von Alfthan, Sebastian
-
Honkonen, Ilja
-
Alho, Markku
- Sandroos, Arto
-
Papadakis, Konstantinos
-
Zhou, Hongyang
- Palmu, Miro
-
Grandin, Maxime
-
Suni, Jonas
-
Tarvus, Vertti
-
Pokhotelov, Dimitry
-
Hokkanen, Jaro
-
Rossi, Tuomas
-
Lankinen, Juhana
- Haaja, Veeti
- Mendez Pratt, Audrey
-
Lalagüe, Arnaud
-
Horaites, Konstantinos
Description
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
Notes
Files
fmihpc/vlasiator-v5.4.0.zip
Files
(14.5 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:91b805f7eaad5e1ce44ad68f4c461c59
|
14.5 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/fmihpc/vlasiator/tree/v5.4.0 (URL)
Software
- Repository URL
- https://github.com/fmihpc/vlasiator