Releases: parthenon-hpc-lab/parthenon
Releases · parthenon-hpc-lab/parthenon
v25.12
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_inneroverloads - [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_deallocfunctionality outside of tasking to newsparse/sparse_managementheader. - [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_gmgexample work for curvilinear coordinates - [PR 1307] Fix imports in parthenon tools +
phdf_difflogic - [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 newRestartvars,is_restart) - [PR 1303] Guard against
block_listaccess whennmb==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_identityfor 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
DumpInputParameterstoDriver
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_restartremoved in favor ofGlobals::is_restart
New Contributors
- @swjones made their first contribution in #1254
- @fglines-nv made their first contribution in #1275
Full Changelog: v25.05...v25.12
Regression test gold standard v28
Regression test gold standard v27
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
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
- @alexrlongne made their first contribution in #1199
- @AstroBarker made their first contribution in #1188
Full Changelog: v24.08...v25.05
Regression test gold standard v26
Update gold fikes to include a flux variable in output hdf5 test.
Regression test gold standard v25
Updates the output_hdf5 test to include a Metadata::None variable.
v24.08
Release 24.08
Date: 2024-08-30
Added (new features/APIs/variables/...)
- [PR 1151] Add time offset
cto LowStorageIntegrator - [PR 1147] Add
par_reduce_innerfunctions - [PR 1159] Add additional timestep controllers in parthenon/time.
- [PR 1148] Add
GetPackDimensiontoStateDescriptorfor calculating pack sizes beforeMeshinitialization - [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_reducefor 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...
Regression test gold standard v24
Update the boundary exchange gold standard file.
Regression test gold standard v23
Regression test gold standard v22
Update gold files for sparse_advection to account for the fixed shape of the sparse scalar fields.