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.

schooltip:Platypus Dependencies

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
warningwarning:Existing Spack Installation

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