Skip to content

Releases: fmihpc/vlasiator

v5.3.1

12 Sep 09:02
6780dce
Compare
Choose a tag to compare

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

Full Changelog: v5.3...v5.3.1

Vlasiator GPU pre-release v1

04 Jun 09:57
afba532
Compare
Choose a tag to compare
Pre-release

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

31 Jan 14:37
676f26a
Compare
Choose a tag to compare

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

30 Jun 07:08
747f5e2
Compare
Choose a tag to compare

This is a performance update release, containing a more efficient triangular filtering implementation.
This impoves scalability for large 3D runs.

eVlasiator 6D pre-release

14 Jun 13:20
0cc658c
Compare
Choose a tag to compare
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

09 Jun 15:14
2e08c74
Compare
Choose a tag to compare

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

26 Apr 10:05
82a5bdf
Compare
Choose a tag to compare

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

14 Jun 13:19
Compare
Choose a tag to compare
eVlasiator Pre-release
Pre-release

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

14 Jun 13:10
Compare
Choose a tag to compare
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

05 Feb 14:16
d8c3a01
Compare
Choose a tag to compare
Merge pull request #462 from fmihpc/dev

Merge dev into master for Vlasiator 5.0 release