Skip to end of banner
Go to start of banner

Setonix New Cray Programming Environment (CPE): Users Actions

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 6 Next »

Starting from July 24th 2023, Setonix will include compute nodes with the new Cray Programming Environment (CPE) 23.02. This update to CPE will result in better performance of the supercomputer, but will also imply a series of modifications and updates in the whole working environment to users. The purpose of this page is to consolidate in one place all the important points that researchers will need to pay attention, together with the recommended actions or changes to take.

User actions

Every research should follow the following steps to use the new CPE:

  • review updated versions of software in the system-wide stack provided by Pawsey and HPE
  • reinstall any software managed by the group
  • rebuild containers previously built on Pawsey-provided images for multi-node MPI support
  • update Slurm batch scripts to reflect updated versions of software

Further details are provided in the following sections.

What is new in CPE 23.02

The Cray Programming Environment (CPE) is the programming environment provided by the vendor on Setonix. It has been updated to version 23.03 and includes newer MPI libraries, newer Cray (14.0.3 -> 15.0.1) and GCC (12.1.0 -> 12.2.0) compilers. The AOCC compiler and programming environment should NOT be used as it is unstable.

Pawsey software stack

The system-wide software stack managed by Pawsey made available by the pawseyenv module is now versioned by deployment date, using the YYYY.MM format. You can choose which deployment to use, bearing in mind that a deployment can be marked as deprecated or unsupported due to breaking changes induced by the vendor updates to the system.

The new version of the software stack will be 2023.07, and it will replace the 2022.11 that was deployed on Setonix up until now. Unfortunately, due to the underlying changes in the Cray Programming Environment, the 2022.11 cannot be kept on Setonix. User installations of software using spack/0.17.0 will have to be re-executed using spack/0.19.0. Software builds with other means will most likely be affected as well, especially if depending on MPI and the Pawsey software stack.

The newly deployed software stack has been upgraded to include the latest version of many applications and libraries such as gromacs, cp2k, lammps.

Spack

Spack has been upgraded from version 0.17.0 to 0.19.0. The new version brings many bug fixes, more supported applications and libraries, and support to build software that runs on AMD GPUs. The  ~/.spack  directory, where user customisations for Spack are saved,  has been moved and renamed to $MYSOFTWARE/setonix/<DATE_TAG>/.spack_user_config .

The build cache of Spack has been moved to $MYSCRATCH/setonix not to consume the inode quota on $MYSOFTWARE.

Spack configuration now recognises the ROCm installation on the system and, at the same time, ignores incomplete pre-installed packages that were causing issues when compiling software (e.g. gettext).

User-private and project-wide software stack directories

The user-private and project-wide installations are now versioned by the system-wide software stack deployment date. For instance, user-private software is now located at

$MYSOFTWARE/setonix/<DATE_TAG>

where <DATE_TAG> is the date of the related software stack deployment in the YYYY.MM format. When you select which pawseyenv version to use, you select also what user and project installations are visible.

GPU software

The new CPE comes with ROCm 5.2.3, replacing version 5.0.2. In addition, the AMD GPU driver has also been updated and should resolve many of the ROCm issues observed on the system.

GPU-enabled builds of several applications have been added to the stack (or will be in the incoming weeks). These replace the containerised deployments that were previously present on Setonix.

  • amber 22
  • lammps
  • cp2k
  • GROMACS without GPU-DIRECT
  • nekRS

Machine learning frameworks Tensorflow and PyTorch are provided by means of containers and made visible using the module system. Once the respective module is loaded, the python3 interpreter from within the container has access to the Tensorflow or PyTorch Python modules.

Users own software will need to be recompiled/rebuilt

Researchers need to recompile their own software that has been built previously on Setonix. This is necessary because the CPE has newer versions of various libraries, to ensure the best possible performance and avoid issues.

For own software installed with Spack, do this:

  • module load spack/0.19.0
  • spack uninstall software@version
  • spack clean -a && spack -d install software@version

Containers

As the programming environment has changed, containers that make use of MPI may suffer incompatibilities with the new host MPI libraries. So, if users own containers are reporting libraries incompatibilities or suffering execution issues, they may need to rebuild their containers based on a MPICH image that has been tested against the new CPE.

We have made available a new container MPICH 3.4.3 base image built from Ubuntu 20.04 that does not suffer from incompatibilities with the new host libraries. The recipe (Dockerfile) of this base image can be found here: MPICH base image Dockerfile and the built image has been uploaded already to Pawsey's quay.io registry. Then, users with own MPI containers will need to update the base image in their own Dockerfile recipes to start from:

FROM quay.io/pawsey/mpich-base:3.4.3_ubuntu20.04

Users can check some practical examples of this in our recently rebuilt containers of OpenFOAM. For example: https://github.com/PawseySC/pawsey-containers/blob/master/OpenFOAM/openfoam/v2212/Dockerfile.

SLURM 22.05

  • No labels