Releases: fmihpc/vlasiator
v5.3.1
This release brings various minor quality-of-life improvements and security updates.
- dynamic AMR criteria updated to match Kotipalo et al 2024: vg_amr_alpha -> vg_amr_alpha1, vg_amr_jperb -> vg_amr_alpha2, scaling fixes
- Ionospheric parameters written to vlsv files
- Added option to deactivate refinement by Cartesian coordinate thresholds
- Fixes to timers
- New testpackage and CI structure
- Cleaned up sample configuration files
- Fix to 3D dipole field in solar wind inflow cells
Auto-generated release notes follow:
What's Changed
- Use newer docker image in CI runs. by @ursg in #899
- Github actions workflow to automatically sync branches to HLRS gitlab by @ursg in #901
- static dipole copysphere.zeroPerB = 1 in testpackage Magnetopshere_small by @ykempf in #905
- Fix gitlab sync action yaml syntax by @ursg in #910
- Fix git remote syntax in gitlab sync action. by @ursg in #911
- vlsvExtract std containers dis-ambiguation by @alhom in #913
- refine_radius for dAMR version support, a QoL improvements: output b … by @alhom in #912
- updated dccrg and fsgrid submodule commits by @markusbattarbee in #907
- updated dccrg and fsgrid submodule commits by @markusbattarbee in #908
- Use Github "Retry Step" Action to wait for vlasiator binary on lustre. by @ursg in #921
- Mpi in block adjustment by @markusbattarbee in #919
- Refinement param renames by @lkotipal in #920
- Some explanations of config option groups in sample cfg by @ykempf in #917
- Output time difference in vlsvdiff by @lkotipal in #925
- Fix CI runs on RISCV failing, probably due to old libraries still lingering in the work directory. by @ursg in #931
- Makefile and github actions steps to build on apple M1 by @ursg in #930
- Use mpirun instead of srun for tool runs on carrington for CI by @ursg in #934
- Update appleM1 CI build boost version. by @ursg in #935
- Cross-compile on BSC RiscV cluster for much faster CI builds by @ursg in #941
- Squelch a big bunch of unused variable warnings. by @ursg in #942
- Reverting submodule urls to https instead of ssh, for easier accessib… by @alhom in #932
- Fix Warnings by @lkotipal in #900
- Face neighbor caching by @lkotipal in #933
- Refinement hotfix by @lkotipal in #914
- Amr translation cleanup by @markusbattarbee in #767
- Minor moments fixes by @markusbattarbee in #947
- Amr translation cleanup addon by @alhom in #948
- Bug fix (Add parameters into the VLSV file) by @ArnaudLalague in #950
- Add support for DCCRG/FSgrid split feature (requires support from DCCRG and FSgrid) by @hokkanen in #926
- Push to GitLab only from fmihpc by @alhom in #954
- Reworked testpackage in a major fashion. by @markusbattarbee in #927
- Added Eigen as a submodule by @alhom in #890
- Move spatial cell to cpu-specific file by @markusbattarbee in #955
- Concurrency check and trap to scancel testpackage_run if caught cancel signal by @alhom in #961
- Remove . /etc/profile from generate_version.sh by @astatide in #963
- Updates to the Kelvin-Helmholtz instability project by @vetarvus in #960
- Fix ig_rhon units incorrectly being a mass density by @ursg in #971
- Update github artefact actions to v4. by @ursg in #968
- Add Makefile for MareNostrum 5's general partition by @astatide in #964
- Ci carrington fs ops to srun by @ykempf in #974
- Fix crash if OMPI_MCA_io is not set in environment. by @ursg in #984
- Dev up-to-speed by @alhom in #967
- Don't checkout submodules in testpackage CI run. by @ursg in #975
- Write out vg_f_saved if any VDFs are coming as well. by @ykempf in #976
- Add LFM (Merkin et al 2010) ionosphere solver test. by @ursg in #957
- Pass scancel --full to cancel jobs by @ykempf in #989
- Check script default local by @ykempf in #987
- Patch tracing to spheres at shallow angles. by @ykempf in #970
- Refinement exclusion halfspaces by @ykempf in #985
- Harris update, after #967 by @alhom in #986
- Update ci reference data runner by @markusbattarbee in #991
- Added trap output by @alhom in #977
- Purge dead projects projects/unsupported/* and projects/VelocityBox by @ykempf in #992
- change CI reference data generation job name by @markusbattarbee in #993
- Parallel timer fixes by @lkotipal in #966
- Add a "check cfg files" CI step. by @ursg in #990
- Try to use a cancel job step to scancel by @ykempf in #995
- Add rescaleDensity to Flowthrough to stabilize testing. by @alhom in #994
- Ensure dtIsChanged is false on static timestep by @lkotipal in #997
- Squelch two compiler warnings. by @ursg in #996
- Document refinement region limits behaviour by @ykempf in #998
- Makefile for MPCDF's Viper system by @ursg in #1010
- AMR Testpackage by @lkotipal in #902
- Long overdue fix to the glueChunksTogether.sh script that usually doe… by @ykempf in #1011
- Removed block adjustment in initialization of donotcompute cells. by @ykempf in #1009
- Adding omp simd-pragmas to moment filtering by @veetihaaja in #1002
- No noDipoleInSW by @ykempf in #1005
- Only proc boundary cells in one trans loop by @ykempf in #1008
- Simplify division by kernelSum. by @ykempf in #1018
- Reinstate shrink_to_fit in SpatialCell. by @ykempf in #1016
- Move submodule include paths by @lkotipal in #895
- Vlasiator 5.3.1 dev into master merge by @ykempf in #1025
New Contributors
- @ArnaudLalague made their first contribution in #950
- @astatide made their first contribution in #963
- @veetihaaja made their first contribution in #1002
Full Changelog: v5.3...v5.3.1
Vlasiator GPU pre-release v1
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.
Vlasiator 5.3
New simulation features:
- Actual dynamic AMR based on simulation run-time metrics
- Time-varying inflow conditions for variable solar wind
- Various bugfixes and upgrades to the inner and outer boundary behaviours
- Run-time magnetic fieldline tracing for improved post-processing (such as
identification of magnetic topology) - New datareducers such as non-maxwellianity and heat flux
Better user experience:
- New Makefile format with less spammy output
- Significant reduction of compiler warnings
- library build script (build_libraries.sh) included to build all dependencies
- Improved logfile output
Developer notes:
- Development now has a full continuous integration (CI) pipeline
- Header-only library dependencies are handled as git submodules
- Simulation domain decomposition of the fieldsolver grid has had bugfixes and improvements
- Multi-sampled velocity space sampling (nSpaceSamples and nVelocitySamples) has been removed
- Better handling of NaN conditions, using isNaN and isInfinite testing
- New phiprof timer object format thats hould lead to fewer unclosed timer groups
Vlasiator 5.2.1
This is a performance update release, containing a more efficient triangular filtering implementation.
This impoves scalability for large 3D runs.
eVlasiator 6D pre-release
eVlasiator initial 6D pre-release
This release adds support for 3D AMR spatial meshes (introduced in Vlasiator 5.0) and more flexible boundary management.
Vlasiator 5.2
This includes such highlights as:
- The new ionosphere boundary condition (New Ionosphere implementation #580)
- A custom hashtable for faster velociy space lookups (Replace std::unordered_map with a custom open - bucket fibonacci-hashed hashtable in vmesh. #588)
- Fixed maxwellian inflow conditions (Maxwellian Inflow Fix #582)
- Automatic simulation bailout if the vspace is too small (Vspace wall bailout #587)
- And many more bugfixes!
Note: the old magnetospheric boundary behaviour has been renamed: It is now conductingsphere
instead of ionosphere
(which now denotes the proper ionosphere solver behaviour and only works for 3D simulations). For spatially 2D setups that retain the old behaviour, config files need to be updated, replacing any occurence of ionosphere
by conductingsphere
.
Vlasiator 5.1
Major changes include:
- A long debugging campagin of the AMR solvers, which found many small bugs, so the AMR simulation results are more reliable
- Fixed makefiles for a couple of new machines we have gotten access to
- Scalability and memory usage improvements at scale.
- This code has run some major large-scale runs on supercomputers and a bunch of small ones in the local clusters of the university of helsinki.
eVlasiator
eVlasiator pre-release for Global survey
Release used in publication
Electron signatures of reconnection in a global eVlasiator simulation, M. Alho, M. Battarbee, Y. Pfau-Kempf, Yu. V. Khotyaintsev, R. Nakamura, G. Cozzani, U. Ganse, L. Turc, A. Johlander, K. Horaites, V. Tarvus, H. Zhou, M. Grandin, M. Dubart, K. Papadakis, J. Suni, H. George, M. Bussov, and M. Palmroth. Accepted for publication in Geophysical Research Letters. (2022)
https://doi.org/10.1029/2022GL098329
eVlasiator initial pre-release
Release used in publication
Vlasov simulation of electrons in the context of hybrid global models: an eVlasiator approach, M. Battarbee, T. Brito, M. Alho, Y. Pfau-Kempf, M. Grandin, U. ganse, K. Papadakis, A. Johlander, L. Turc, M. Dubart, and M. Palmroth. Ann. Geophys. 39, 85–103 (2021)
https://doi.org/10.5194/angeo-39-85-2021
Vlasiator 5.0
Merge pull request #462 from fmihpc/dev Merge dev into master for Vlasiator 5.0 release