Skip to content

2020.06.17 Meeting Notes

Andrew Gaspar edited this page Jun 17, 2020 · 4 revisions

Agenda

  • Individual/group updates
  • What to do about CI?
  • Unigrid performance #189 (may already be covered within the updates)
  • Discuss solvers
  • Usage of FORCEINLINE macro - UPDATE
  • Quick run-through of outstanding non-WIP pull request reviews

Goals

From two weeks ago for this meeting:

  • Discuss offline the best strategy for 1) doing performance tests and 2) automating them
  • Start Profiling Code w/o AMR
    • F. Glines
    • J. Miller (~a little bit)
  • Start Kokkosifying AMR
    • Assignment of execution spaces to mesh blocks (necessary for performance)
      • P. Grete
    • Porting for functionality (just get things not crashing and working correctly)
      • J. Dolence
      • A. Gaspar

Updates

LANL CS Updates

  • Ported benchmarks to Catch2 benchmark, which has some improvements
  • Modernized the Mesh data structure to automatic memory management and using the STL list rather than intrusive list
  • Remove public athena names from library
  • Add linting to build

LANL Physics Updates

Been avoiding touching the Kokkos AMR pull request until CI returns.

Move labels back to host memory - resulted in a bunch of device-host copies.

Some fixes around variable caching.

Had meeting on solvers between Jim, Jonah, Josh Dolence, and Tango.

Athena Update

Poking on streams led to discovery of a number of issues, including issue with labels.

Re-wrote buffer packing kernels so that filling and loading all buffers happens in a single kernel launch.

Launching kernels across multiple threads did not seem to improve performance. The theory is too much host-device communication.

Volta can only handle 2 256^3 block streams at-a-time. May need to handle more blocks in a single kernel call at a time.

Discussion

CI

We're moving from MSU to IAS.

We will be getting performance CI working on LANL systems (Darwin). Joshua Brown is working on this.

Uniform grid performance

Jim wants to re-iterate: This is critical.

Phil: Points out we need to find ways to context switch between task lists without blocking on fences.

Solvers

Some work needs to go into thinking about generalizing task lists and boundary updates.

Jonah is going to write a simple Jacobi solver in parthenon.

FORCEINLINE

No update on this.

Clone this wiki locally