Pawsey develops and supports a limited number of images on public repositories, to assist researchers in building and running optimally performing containers.
The images discussed below can be found within the pawsey
account on both RedHat Quay (note the quay.io/
prefix). Note that images pulled from these repositories are converted to Singularity format by the Singularity application. Finally, the corresponding Dockerfiles (building recipies) can be found at Pawsey GitHub pawsey-containers project.
MPI base images
Important
Due to a problem with MPI library binding with Singularity containers on Setonix, containerised MPI applications are currently not able to execute multinode jobs. But they still work fine for single node jobs. We are currently working on solving this problem.
These represent a good starting point to build MPI applications in a container. They all include the GNU compiler suite, the OSU MPI Benchmark Suite, and either MPICH or OpenMPI. They have been built with Ubuntu 20.04, 18.04 and 16.04 to suit multiple needs.
- MPICH based
- MPICH 3.4.3: works on all Pawsey clusters, by exploiting either Cray MPICH or Intel MPI
- OpenMPI based
- OpenMPI 4.0.2: works on Topaz and Garrawarla
CUDA-aware MPI base images
These are useful to containerise CUDA applications that are also able to exploit MPI for communication. In addition to the full CUDA toolkit, similar to the MPI images above they ship with the GNU compiler suite, the OSU MPI Benchmark Suite, and either MPICH or OpenMPI. At the moment they have only been built on top of Ubuntu 18.04.
- CUDA-aware MPICH based
- MPICH 3.4.3 and CUDA 10.1
- CUDA-aware OpenMPI based
- OpenMPI 4.0.2 and CUDA 10.1: works on Topaz
- OpenMPI 4.0.2 and CUDA 10.2: works on Garrawarla
In the case of OpenMPI, it's important to ensure the CUDA minor version in the container matches the one used to build the MPI libraries in the host. E.g. mixing versions 10.1 and 10.2 may result in errors or unintended behaviours.
Python images
These images are all based on Python 3 and come with a number of preinstalled packages, so depending on the requirements on the workflow they may be used for either production or as base images.
- astropy
- cython
- dask
- h5netcdf
- h5py
- ipython
- matplotlib
- mpi4py
- netcdf4
- nose
- numba
- numpy
- pandas
- plotly
- pytest
- scikit-learn
- scipy
All images come with MPICH 3.4.3 to enable appropriate use of mpi4py
. To suit multiple needs, various type of images are provided, that differ in a few aspects:
- Standard Python and pip packages
- Intel-Python and conda packages (the latter is often more performant)
- Standard Python and pip packages with CUDA 10.2 (for CUDA-enabled
numba
) - Intel-Python and conda packages with CUDA 10.2
- All of the above images also come in two variants: serial or parallel HDF5/
h5py
libraries
The provided Dockerfiles can be used as templates to design variations of these configurations.
OpenFoam images
A number of OpenFoam versions are currently supported by Pawsey as container images. They are all based on the mpich-base
images presented above.
See the Openfoam and Openfoam-org image sub-repositories.