2025.09.18 Meeting Notes - parthenon-hpc-lab/parthenon GitHub Wiki
Agenda
- Individual/group updates
- Performance questions
- C++20 modules
- Default parameter handling
- Review non-WIP PRs
Individual/group updates
LR
- Coalesced buffer comm merged. People should test downstream.
- Added additional solver features
- boundary conditions (within task lists in solvers)
JM
- Small fixes/QoL improvements in various place
- AMR criteria on Sparse
- PostInitialze hooks
- Error check for static mesh refinement
- Contour1D script
- Fix support for non-cart coords in yt. PG will ping
- Updated from AD: close to get input compiler open source to that we can use it upstream
AR
- Two new features for type based packs
- WIP PR for virtual fields
- ready for testing and feedback
- Scratch variable system
- also ready for testing
- same memory aliased by various types/shapes at runtime
- is there a potential issue with tasking (race conditions wrt order)
JD
- adding Python interfaces for pgen in
- potentially also for boundary conditions
- Python interpreter embedded in riot
- big Q: how fast is it (especially when running on GPUs)
PG
- Updated CI
- Fixed VariableExists check in hdf5 restart
- AMD Frontier issues
- (Re)discovered "GPU memory access faults" on Frontier
- Can be mitigated by disabling direct intra-node GPU-to-GPU comm (which comes at a significant performance hit, e.g., 40% in small reproducer)
- Will discuss with OLCF and HPE during office hour
- JM interested in joining
Discussion on performance
- register usage has potentially significant impact on performance (though in a somewhat nonlinear, hard to predict way)
- (hidden) gradual increase of register usage? -> potentially
- -> reintroduce automated performance monitoring (with real life example)
- get Galen/CS/... involved
C++20 modules
- is this sth we may want to look into?
- eventually yes, right now not too high on the agenda
- might be a good opportunity to cleanup/rethink
src/interfaces
Discussion on default parameter handling
- GetOrAdd defaults between Parthenon and downstream codes might cause some runtime errors
- Could introduce some (Parthenon) internal version of GetOrAdd to keep track
- however, potential number of variables currently limited
- keep as is for now as the error messages are clear
Non WIP
- #1323 just code shuffle: PM will review
- #1322 JM PG will review
- #1319 PG will review, otherwise
- #1308 PM will add unit test
- #1320 ready to go
tentative next meeting Oct 9