-
Notifications
You must be signed in to change notification settings - Fork 31
Release Protocol
The following is for ChaNGa/Charm developers. It outlines the testing to be done for a new ChaNGa release. Historically ChaNGa releases have followed Charm releases, so both software distributions are being tested in this process.
The latest release (or release candidate) version of Charm should be downloaded/pulled.
The build command should be executed by ./build ChaNGa COMM-SYSTEM --with-production, where COMM-SYSTEM refers to the communication layer and system being used, e.g. mpi-linux-x86_64. Tests should also be repeated with the smp option added to the build command.
The target release or release candidate verion of ChaNGa should be downloaded/pulled.
configure should be run 1) with no arguments 2) with --enable-bigkeys 3) with --enable-cooling=cosmo, with all the tests below (except for the moving-mesh test) repeated in each configuration.
-
Successful compilation with no errors
-
Basic timestepping/energy conservation: in the
teststepsubdirectory, the Makefile has atestenergytarget which will run this test, but the command may need to be edited depending on the system. -
Checkpoint/restart test: also in the
teststepsubdirectory, there is a second targettestrestartif restarts from a checkpoint can run. -
Cosmology test: in testcosmo is a small cosmological simulation. Note that two auxiliary programs
skidandsoare needed to verify the results, as well as the IDL (or GDL) package. Skid can be download from the N-bodyShop github, SO can also be downloaded from the N-BodyShop github -
Gas collapse test: in testcollapse is collapse of a gas halo. Note that an auxiliary program
tipsyis need to verify the results. Tipsy can be downloaded from the N-BodyShop github -
Moving mesh test: in moving-mesh-ICs/test-cases/cee-test. ChaNGa must be compiled in moving-mesh mode, which uses
configure --enable-moving-mesh --enable-cooling=ad. Note that we do not use--enable-bigkeysand--enable-cooling=cosmohere. Run the testing program orbit.py viapython orbit.pyin the same directory as the run and orbit.data is available in the same directory as well. Be sure that yt is installed. Easiest method is getting the Anaconda python distribution and using conda to install yt.
Directions to run, and previous results of 5 gravity benchmarks are given on the benchmark page.
| Machine | Date | Charm++ Build | Compilation | teststep |
testcosmo |
testcollapse |
|---|---|---|---|---|---|---|
| OLCF Summit | 10/27/2021 | pamilrts-linux-ppc64le-smp |
O | X (testrestart hangs with 2 processes each with 2 PEs) |
X (missing IDL/GDL) | X (can't bulid tipsy due to missing X11/Xaw/Scrollbar.h) |
| PSC Bridges-2 | 11/3/2021 | ucx-linux-x86_64-smp |
O | O | X (missing IDL/GDL) | O |
| SDSC Expanse | 8/13/2022 | `verbs-linux-x86_64 smp | O | O | O | O |
| TACC Stampede2 | 10/28/2021 | mpi-linux-x86_64 smp |
O | O | O | O |
| TACC Frontera | 8/5/2022 | mpi-linux-x86_64 smp |
O | O | O | O |
| TACC Longhorn | 8/18/2022 | `mpi-linux-ppc64le smp cuda | O | O | O | |
| NERSC Cori | 11/10/2021 | gni-crayxc |
O | O | O | O |
| NASA Pleiades | 8/12/2022 | verbs-linux-x86_64 smp |
O | O | O | O |
| NASA Pleiades GPU | 8/17/2022 | verbs-linux-x86_64 cuda smp |
O | O | O | O |