Skip to content

Releases: parthenon-hpc-lab/parthenon

v25.12

17 Dec 21:51
d467a38

Choose a tag to compare

Release 25.12

Date: 2025-12-17

Added (new features/APIs/variables/...)

  • [PR 1337] Add task list based timing capabilities
  • [PR 1331] Add control over whether to include/exclude an output on final signal
  • [PR 1330] Add userspace mechanisms to control number of comm buffers allocated
  • [PR 1319] Add common scratch variable utilities
  • [PR 1326] Thread initial swarm pool size into userspace via metadata
  • [PR 1320] 1D Contour plotting
  • [PR 1315] Add user specifiable BCs to solvers
  • [PR 1192] Coalesced buffer communication
  • [PR 1314] Add option of user specified BCs in AddBoundaryExchangeTasks
  • [PR 1244] Add TaskCollection timeout capability
  • [PR 1311] Magnitude refinement criteria, per-package PostInitialize function hooks, mergescv and prettyparams utilities
  • [PR 1142] Unify par_dispatch, par_for_outer & par_for_inner overloads
  • [PR 1255] RK34 low storage 3rd order 4 stage SSP integrator with CFL <= 2 from Spiteri & Ruuth 2002, SIAM Journal on Numerical Analysis, 40(2):469–491
  • [PR 1283] Ability to automatically document ParameterInputs
  • [PR 1258] Add "corehdf" version of hdf5 output that dumps everything
  • [PR 1162] Add dev container (e.g., GitHub Codepsacer or VSCode)

Changed (changing behavior/API/variables/...)

  • [PR 1323] Added per-block sparse_dealloc functionality outside of tasking to new sparse/sparse_management header.
  • [PR 1311] Refinement criteria no longer need to be a contiguous index range in the input deck
  • [PR 1305] Minor tweaks and quality of life improvements to python package and some debugging output options
  • [PR 1266] Remove next_time, which the code previously stashed in ParameterInput for outputs. Instead last time is stashed in a new Outputs package params. Changing output cadence upon restart now works as expected.
  • [PR 1239] Automatically cache PackDescriptors in Mesh
  • [PR 1242] Move to Kokkos 4.6.01 (for AMD APU support)
  • [PR 1253] Add support for uint64 swarm variables and add default id
  • [PR 1280] Print history file headers on restart

Fixed (not changing behavior/API/variables/...)

  • [PR 1340] Set ownership for finer multigrid neighbors
  • [PR 1338] Fix bug where gmg block list wasn't completely cleared after remesh
  • [PR 1330] Add missing device-side destructor to BndId. Make comm buffer pools safe to clear.
  • [PR 1327] Eliminate warnings from ViewOfViewAlloc
  • [PR 1328] Add more useful error message for task list timeout
  • [PR 1324] Fix SMR error check at initialization
  • [PR 1318] Fix AMR criteria for sparse variables and re-fix blocks < ranks
  • [PR 1317] Make VariableExits logic in HDF5 restart reader work
  • [PR 1288] Fix restriction bug for non-cartesian coordinates and make poisson_gmg example work for curvilinear coordinates
  • [PR 1307] Fix imports in parthenon tools + phdf_diff logic
  • [PR 1310] Fix logic causing issues for restarts with varying output blocks (introduced in #1266)
  • [PR 1297] Backward compatibility fixes (last_/next_ output package, restart with new Restart vars, is_restart)
  • [PR 1303] Guard against block_list access when nmb==0
  • [PR 1291] Fix provenance for downstream codes
  • [PR 1289] Fix a bug in 1214
  • [PR 1214] Initialize MPI in catch2 to prevent errors when constructing Meshes
  • [PR 1276] Specialize Kokkos::reduction_identity for AmrTag
  • [PR 1275] Remove typeid from interpolation device code
  • [PR 1254] Fix task failure handling
  • [PR 1272] Remove mistakenly included pdf files in the base directory
  • [PR 1257] Clean exit with -m
  • [PR 1284] Fix some parameter types, move DumpInputParameters to Driver

Infrastructure (changes irrelevant to downstream codes)

  • [PR 1335] Clean up annoying warnings in AMR criteria
  • [PR 1321] Reorganize docs into chapters
  • [PR 1316] Update Cuda CI container (main change g++-13 to fix asan bug)
  • [PR 1292] Remove shared ptr cycle and add a destructor for reductions
  • [PR 1281] Move params implementation to std::any
  • [PR 1268] Adds build information to phdf output
  • [PR 1162] Update CI container to Cuda 12.8

Removed (removing behavior/API/variables/...)

  • [PR 1329] Remove unused/deprecated buffer packing utils

Incompatibilities (i.e. breaking changes)

  • [PR 1253] Add support for uint64 swarm variables and add default id
  • [PR 1297] pmesh->is_restart removed in favor of Globals::is_restart

New Contributors

Full Changelog: v25.05...v25.12

Regression test gold standard v28

25 Aug 10:26
17b34d2

Choose a tag to compare

Corresponds to 5609a40. Fix output_hdf5 test for updated last_time info in Params #1310

Regression test gold standard v27

02 Jul 17:41
47a31c7

Choose a tag to compare

Corresponds to 235a726. Update gold file for output_hdf5 to correspond to changing metadata, now that next_output is no longer stored in ParameterInput and insted last_output is stashed in params

v25.05

21 May 13:58
29ce804

Choose a tag to compare

Release 25.05

Date: 2025-05-19

Added (new features/APIs/variables/...)

  • [PR 1247] Add ability to output to HDF5 non-standard MeshData object
  • [PR 1233] Add implicit diffusion example
  • [PR 1237] Add selector functions to sparse packs, cache sparse packs with different block lists, reorganize files
  • [PR 1231] Add support for uint8_t parameter types in hdf5 files
  • [PR 1137] Add spherical and cylindrical coordinate support
  • [PR 1182] Add a MeshData variant for refinement tagging
  • [PR 1210] Add cycle based output
  • [PR 1103] Add sparsity to vector wave equation test
  • [PR 1185] Bugfix to particle defragmentation
  • [PR 1184] Fix swarm block neighbor indexing in 1D, 2D
  • [PR 1183] Fix particle leapfrog example initialization data
  • [PR 1179] Make a global variable for whether simulation is a restart
  • [PR 1171] Add PARTHENON_USE_SYSTEM_PACKAGES build option
  • [PR 1161] Make flux field Metadata accessible, add Metadata::CellMemAligned flag, small perfomance upgrades

Changed (changing behavior/API/variables/...)

  • [PR 1243] Increase MPI timeout counter by 10x
  • [PR 1223] Update to v4 artifacts
  • [PR 1216] Move to Kokkos 4.5
  • [PR 1191] Update Kokkos version to 4.4.1
  • [PR 1209] Ordered history output
  • [PR 1206] Leapfrog fix
  • [PR 1203] Pin Ubuntu CI image
  • [PR 1177] Make mesh-level boundary conditions usable without the "user" flag
  • [PR 1187] Make DataCollection::Add safer and generalize MeshBlockData::Initialize
  • [PR 1171] Add PARTHENON_USE_SYSTEM_PACKAGES build option
  • [PR 1172] Make parthenon manager robust against external MPI init and finalize calls

Fixed (not changing behavior/API/variables/...)

  • [PR 1251] Fix leftover reference to old coords interface
  • [PR 1249] Fix flux metadata propagation in sparse pools
  • [PR 1241] Emit an error message when using uninitialized multigrid blocks
  • [PR 1248] Fix edge case regarding AMR de-refinement logic
  • [PR 1240] Fix I/O for CellMemAligned variables
  • [PR 1229] Ensure builds function on 32 bit architectures
  • [PR 1230] Add missing using statements in curvilinear coordinates classes
  • [PR 1217] Swarm comm debug fix
  • [PR 1215] Fix issue with uninitialized input parameter block data
  • [PR 1211] remove inline from WriteTaskGraph
  • [PR 1188] Fix hdf5 output issue for metadata none variables, update test.
  • [PR 1170] Fixed incorrect initialization of array by a const not constexpr
  • [PR 1189] Address CUDA MPI/ICP issue with Kokkos <=4.4.1
  • [PR 1178] Fix issue with mesh pointer when using relative residual tolerance in BiCGSTAB solver.
  • [PR 1173] Make debugging easier by making parthenon throw an error if ParameterInput is different on multiple MPI ranks.

Infrastructure (changes irrelevant to downstream codes)

  • [PR 1246] Added documentation on SMR
  • [PR 1238] Refactor pack related files and add SparsePack docs
  • [PR 1218] Add ability to run the tasking without threading
  • [PR 1176] Move some code from header to implementation files

Incompatibilities (i.e. breaking changes)

  • [PR 1237] Add selector functions to sparse packs, cache sparse packs with different block lists, reorganize files
  • [PR 1174] Add CG solver, custom solver prolongation operator options, and switch to stage based solvers
  • [PR 1177] Make mesh-level boundary conditions usable without the "user" flag

New Contributors

Full Changelog: v24.08...v25.05

Regression test gold standard v26

11 Apr 18:21
a0fdccf

Choose a tag to compare

Update gold fikes to include a flux variable in output hdf5 test.

Regression test gold standard v25

15 Oct 19:59
1e77c13

Choose a tag to compare

Updates the output_hdf5 test to include a Metadata::None variable.

v24.08

30 Aug 07:45
ec61c9c

Choose a tag to compare

Release 24.08

Date: 2024-08-30

Added (new features/APIs/variables/...)

  • [PR 1151] Add time offset c to LowStorageIntegrator
  • [PR 1147] Add par_reduce_inner functions
  • [PR 1159] Add additional timestep controllers in parthenon/time.
  • [PR 1148] Add GetPackDimension to StateDescriptor for calculating pack sizes before Mesh initialization
  • [PR 1143] Add tensor indices to VariableState, add radiation constant to constants, add TypeLists, allow for arbitrary containers for solvers
  • [PR 1140] Allow for relative convergence tolerance in BiCGSTAB solver.
  • [PR 1047] General three- and four-valent 2D forests w/ arbitrary orientations.
  • [PR 1130] Enable parthenon::par_reduce for MD loops with Kokkos 1D Range
  • [PR 1119] Formalize MeshData partitioning.
  • [PR 1128] Add cycle and nbtotal to hst
  • [PR 1099] Functionality for outputting task graphs in GraphViz format.
  • [PR 1091] Add vector wave equation example.
  • [PR 991] Add fine fields.
  • [PR 1106] Add CMake options for turning on ASAN and HWASAN
  • [PR 1100] Custom refinement ops propagated to fluxes
  • [PR 1090] SMR with swarms
  • [PR 1079] Address XDMF/Visit Issues
  • [PR 1084] Properly free swarm boundary MPI requests
  • [PR 1020] Add bi- and trilinear interpolation routines
  • [PR 1081] Add GetSize and GetIndex to sparse pack
  • [PR 1026] Particle BCs without relocatable device code
  • [PR 1037] Add SwarmPacks
  • [PR 1068] Add ability to dump sparse pack contents as a string
  • [PR 1062] UserWorkBeforeRestartOutput
  • [PR 1043] Unify flux correction with boundary communication, make fluxes variables, allow fluxes for non-cell fields
  • [PR 1060] Add the ability to request new MeshData/MeshBlockData objects by selecting variables by UID.
  • [PR 1039] Add ability to output custom coordinate positions for Visit/Paraview
  • [PR 1019] Enable output for non-cell-centered variables

Changed (changing behavior/API/variables/...)

  • [PR 1153] Allow base grid with fewer blocks than ranks before initial AMR
  • [PR 1105] Refactor parameter input for linear solvers
  • [PR 1078] Add reduction fallback in 1D. Add IndexRange overload for 1D par loops
  • [PR 1024] Add .outN. to history output filenames
  • [PR 1004] Allow parameter modification from an input file for restarts

Fixed (not changing behavior/API/variables/...)

  • [PR 1145] Fix remaining swarm D->H->D copies
  • [PR 1150] Reduce memory consumption for buffer pool
  • [PR 1146] Fix an issue outputting >4GB single variables per rank
  • [PR 1152] Fix memory leak in task graph outputs related to abi::__cxa_demangle
  • [PR 1146] Fix an issue outputting >4GB single variables per rank
  • [PR 1144] Fix some restarts w/non-CC fields
  • [PR 1132] Fix regional dependencies for iterative task lists and make solvers work for arbirtrary MeshData partitioning
  • [PR 1139] only add --expt-relaxed-constexpr for COMPILE_LANGUAGE:CXX
  • [PR 1131] Make deallocation of fine and sparse fields work
  • [PR 1127] Add WithFluxes to IsRefined check
  • [PR 1111] Fix undefined behavior due to bitshift of negative number in LogicalLocation
  • [PR 1092] Updates to DataCollection and MeshData to remove requirement of predefining MeshBlockData
  • [PR 1113] Prevent division by zero
  • [PR 1112] Remove shared_ptr cycle in forest::Tree
  • [PR 1104] Fix reading restarts due to hidden ghost var
  • [PR 1098] Move to symmetrized logical coordinates and fix SMR bug
  • [PR 1095] Add missing include guards in hdf5 restart
  • [PR 1093] Fix forest size for symmetry dimensions
  • [PR 1089] Fix loading restart files without derefinement counter
  • [PR 1079] Address XDMF/Visit Issues
  • [PR 1088] Correctly fill fluxes for non-cell variables in SparsePacks
  • [PR 1083] Correctly fill VariableFluxPack for edge fluxes in 2D
  • [PR 1087] Make sure InnerLoopPatternTVR is resolved on device properly when it is the default loop pattern
  • [PR 1071] Fix bug in static mesh refinement related to redefinition of Mesh::root_level
  • [PR 1073] Fix bug in AMR and sparse restarts
  • [PR 1070] Correctly exclude flux vars from searches by default
  • [PR 1049] Catch task failures from threads
  • [PR 1058] Vector history not being output if no scalar history present
  • [PR 1057] Fix history output after restarts
  • [PR 1053] Set the correct root level on restart
  • [PR 1024] Add features to history output
  • [PR 1031] Fix bug in non-cell centered AMR

Infrastructure (changes irrelevant to downstream codes)

  • [PR 1117] Enable CI pipelines on AMD GPUs with ROCM/HIP
  • [PR 1114] Enable sanitizers for extended CI host build
  • [PR 1123] Default initialize ProResInfo.dir
  • [PR 1121] Default initialize BndInfo.dir
  • [PR 1116] Fix NumPy 2.0 test script breakage
  • [PR 1055] Refactor mesh constructors
  • [PR 1066] Re-introduce default loop patterns and exec spaces
  • [PR 1064] Forbid erroneous edge case when adding MeshData on a partition
  • [PR 1035] Fix multigrid infrastructure to work with forest
  • [PR 1048] Tiny fixes to custom coords logic
  • [PR 1028] Internal reorganization of LogicalLocation files
  • [PR 1009] Move from a single octree to a forest of octrees

Removed (removing behavior/API/varaibles/...)

  • [PR 1108] Remove NaN payload tags infrastructure

Incompatibilities (i.e. breaking changes)

  • [[PR 1135]](http...
Read more

Regression test gold standard v24

08 Jul 18:33
801766e

Choose a tag to compare

Update the boundary exchange gold standard file.

Regression test gold standard v23

14 May 17:59
659c19e

Choose a tag to compare

Update output_hdf5 test gold file to include SparseDeallocCount which was added in #1073, include two-tree test gold files required for the new regression tests in #1071, and include boundary exchange gold files for the test added in #1047.

Regression test gold standard v22

10 Apr 21:46
ac561f7

Choose a tag to compare

Update gold files for sparse_advection to account for the fixed shape of the sparse scalar fields.