-
Notifications
You must be signed in to change notification settings - Fork 28
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
teststep
subdirectory, the Makefile has atestenergy
target which will run this test, but the command may need to be edited depending on the system. -
Checkpoint/restart test: also in the
teststep
subdirectory, there is a second targettestrestart
if restarts from a checkpoint can run. -
Cosmology test: in testcosmo is a small cosmological simulation. Note that two auxiliary programs
skid
andso
are 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
tipsy
is 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-bigkeys
and--enable-cooling=cosmo
here. Run the testing program orbit.py viapython orbit.py
in 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 |