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