Getting Started
To assist new users in getting started with Platypus, we provide Docker containers with Platypus pre-built (updated weekly) and build scripts for UKAEA users to build and run on CSD3:
Platypus Docker Container
Docker images of Platypus for Ubuntu with all dependencies are built weekly and uploaded to DockerHub, and can be downloaded via
docker pull alexanderianblair/platypus:main
Once downloaded, the image can be run in interactive mode with the command
docker run -it alexanderianblair/platypus:main
The Platypus executable can then be found at /opt/platypus/platypus-opt
inside the container.
Additional information and options for using Docker can be found at this tutorial on the Docker site.
Alternatively, a container containing up-to-date images of only the current dependencies for Platypus can be downloaded from
docker pull alexanderianblair/platypus-deps:main
for those who wish to build Platypus themselves.
Running Tests
Platypus can then be built with the following commands from the top level platypus
directory in either of the above containers.
To build and run the entire set of regression tests for platypus found in /opt/platypus/test
, run
METHOD=opt make test
from the /opt/platypus
directory. Running a specific test (or tests) is possible by using the /opt/platypus/run_tests
python script and using the --re
command line argument to pass in a regular expression satisfied by the names of the tests you wish to run; for example:
METHOD=opt /opt/platypus/run_tests --re=MFEMDiffusion
Similarly, unit tests can be built and run in a similar way, by running make test
from /opt/platypus/unit
.
Platypus on CSD3
First, navigate to the location you wish Platypus to be stored, and clone the repository using
git clone https://github.com/aurora-multiphysics/platypus.git
Platypus can then be built using the build scripts in platypus/scripts
.
GPU-Ready Platypus
For use of Platypus on the Ampere nodes of CSD3, first copy the build script from https://github.com/aurora-multiphysics/platypus/blob/main/scripts/build-platypus-csd3-ampere.sh
and build Platypus using
sbatch build-platypus-csd3-ampere.sh
By default, this script will uninstall all spack modules currently associated with the architecture defined in the ARCH
variable. If this is not desired, comment out the spack uninstall -ay arch=${ARCH}
line in the install_spack_deps()
function before use.
CPU-Only Platypus
You may wish to run Platypus using only the Sapphire Rapids nodes of CSD3, and do not wish to install dependencies associated with use of available GPUs. In this case, copy the build script from https://github.com/aurora-multiphysics/platypus/blob/main/scripts/build-platypus-csd3-sapphire.sh
and build Platypus using
sbatch build-platypus-csd3-sapphire.sh