Skip to content

2022.10.27 Meeting Notes

Philipp Grete edited this page Oct 27, 2022 · 5 revisions

Agenda

  • Individual/group updates
  • Time/date sync
  • Mailing list
  • Parthenon paper
  • Open/nanoVDB
  • Container registry
  • Metadata::RemeshComm
  • prolong/restrict for_each_boundary
  • non-WIP PRs

Time/date sync

  • bi-weekly Thu 10am Mountain
  • JM will setup new meeting with LANL zoom account

Mailing list

  • google group it is
  • PG will take care of it
  • to be used to
    • distribute meeting notes
    • reminders
    • release notes
    • etc.

Parthenon paper

  • very minor changes requested for second revision
  • PG just fixed those and resubmitted

Open/nanoVDB

  • PG had call with devtech team from Nvidia
  • they're interested in
  • Initial ideas
    • could OpenVDB be used for sparse variable output (which we still haven't really addressed)
    • multigrid solver?
  • the group should think about potential other ideas till the next sync and PG will report back

Container registry

  • Q: Where should docker files (and the registry for containers) live?
  • In a separate repo or in the parthenon repo (like now)
  • No strong feelings
  • Week feelings to keep things were there are as it's easier to split out a repo later if required rather than getting rid of one

Metadata::RemeshComm

  • Following discussion from https://github.com/parthenon-hpc-lab/parthenon/pull/732
  • during load balancing, block data need to be transferred
  • in a perfect world, only independent data would need to be transferred and dependent data would be restored from the independent one
  • in a real world, this may be expensive or hard (e.g., need to do a root find without a guess)
  • could be addressed by adding a Metadata::RemeshComm that also allows dependent variable to be communicated
  • however it may break some basic design decision (i.e., the distinction between independent and dependent) and may hide some downstream bugs
  • BUT it's optional for downstream codes and have successfully been used for debugging in downstream codes
  • also having a (good) initial guess for root finding may be very beneficial
  • -> introduce this flag and rename it to sth like Metadata::ForceRemeshComm to highlight that this is to be used with caution

prolong/restrict for_each_boundary

  • Following discussion in https://github.com/parthenon-hpc-lab/parthenon/pull/769
  • for prolongation restriction need data on coarse not only from neighbors but also from own active cells, i.e., restricting interior
  • logic for different boundaries is more complex than just go over all cells or boundaries
  • JM modified for_each_boundary boundary to also include offsets
    • reduces code, but adds complexity to handles offsets (even if not needed)
  • discussion on "restrict everything"
    • only affect fine blocks at fine-coarse bounds
    • probably a lot of data is in cache anyway
    • just do it (as it really makes the code cleaner)
    • need to change comm pattern to always restrict first so that the local (entire block) restriction is not overridden by incoming restricted ghost data
  • Path forward:
    • get current PR in first
    • then restructure in a separate PR (JM volunteered)

Individual/group updates

PM

  • will move to LANL 3 Jan
  • for face fields, it's very important to communicate/correct EMF across same level bounds!
  • pushing rad torus sims, working on units

FG

  • almost done with cleanup of uniform card coords (mostly renaming as agreed during the dev meeting)
  • see https://github.com/parthenon-hpc-lab/parthenon/pull/753
  • benefit from new names are now proper templates
  • asking for feedback on whether the renaming is worth it (as it affect every downstream code)
  • feedback by end of the week, FG will add doc and testing AthenaPK, and then ready for merge

JM

  • prolong/restriction (see above) ready for review
    • PG will review by testing prim prolong/restict in AthenaPK
  • LANL CI
  • open cell count PR
    • JM will review current functionality and potentially merge old and new features (i.e., let old one support custom refine crit).

LR

  • flux correction in one done and merged
  • (slightly related) potential bug in sparse infrastructure
  • JM has hunch this may be related to sparse vars that get allocated/deallocated during single cycle
  • LR suggest to try #699 if this fixes it, PG will test and report back

BR

  • tracking down bugs in downstream codes
  • will work on particle packing, biggest left todo is flattening indices

TG

  • opened issue on second deriv refinement, will implement soon

PG

  • CI migration to local machine done
  • currently CI runs twice (triggered for pushes and PR) -> make PR only
  • could potentially also be disabled for WIP PRs
  • test single precision configuration
  • does not work as expected, will fix this, has open WIP PR with todo list https://github.com/parthenon-hpc-lab/parthenon/pull/771
  • for particles, there existed a mix between double and Real. will go with everything Real for now
Clone this wiki locally