/ExaCLAMR

Currently: Learning how to use SNL Kokkos and it's capabilities. Future: Re-factor and build on LANL/CLAMR application using SNL Kokkos

Primary LanguageC++

ExaCLAMR

Re-Implementation of the Shallow Water Solver LANL/CLAMR using Kokkos, Cabana, and Cajita.

Current Status

  • Properly functions using
    • Serial
    • OpenMP
    • Cuda
    • Serial + MPI
    • OpenMP + MPI
    • Cuda + MPI
  • Able to write to Silo files using PMPIO (Tested on Mac in Serial, OpenMP, Serial + MPI, OpenMP + MPI)
  • Can Visualize results using VisIt

Future Directions and Tasks

  • Fix Cuda MPI issue in use of Cajita Halo gather (currently functioning with a work around using CudaUVM and a custom halo exchange). It might be an issue with how ExaCLAMR is using the Cajita gather?
  • Get Silo to build on Wheeler and Xena and get it working with the CudaUVM case
  • Template the mesh and problem manager classes for regular grids, AMR grids, and space-filling curves (see Jered branch)
  • 2-D Hilbert Layout
  • Investigate using Cabana AoSoA
  • Add particle physics

Building on UNM CARC Wheeler

git clone https://github.com/CUP-ECS/ExaCLAMR.git
cd ExaCLAMR
bash scripts/build_wheeler.sh
mkdir -p data
mkdir -p data/raw

Building on UNM CARC Xena

  • Note: You have to build on a compute node
git clone https://github.com/CUP-ECS/ExaCLAMR.git
cd ExaCLAMR
bash scripts/build_xena.sh
mkdir -p data
mkdir -p data/raw

Performance