Skip to content

Operating System Updates

Overview

In early 2025, the Puma cluster was updated to a newer operating system called Rocky Linux 9. Ocelote and El Gato remain on the older OS called CentOS 7. Below is a summary of the main points of relevance to users:

Files and Scheduling Unchanged

All user files are untouched. The Slurm scheduler has not changed in any notable way.

System Software

The versions and locations of system software on Puma may now be different than Ocelote/El Gato. Any software compiled on CentOS 7 will most likely need to be recompiled on Rocky 9 for use on Puma.

Module Availability

The module system on Puma is now distinct from Ocelote/El Gato. While many modules available on the older OS are still available on Puma, some are not available at all, and some have changed version. Check available modules/versions on your cluster of choice. Significant changes include:

  • The default compiler updated from GCC 8 (module gnu8) to GCC 13 (module gnu13).
  • The default MPI distribution updated from OpenMPI 3 (module openmpi3) to OpenMPI 5 (module openmpi5).

Environment Compatibility

Software environments/libraries for programs like Python and R that were built on CentOS 7 may not function properly on Rocky 9. Users may need to rebuild custom environments on Puma to ensure compatibility.

Contrib Space Noninteroperable

Users who utilize the /contrib space should note that this space on Puma is now distinct from the space on Ocelote/ElGato.

Submitting jobs to the updated cluster

  • During the upgrade, subsets of nodes were converted to the new OS, effectively creating two distinct versions of the Puma cluster: one set of nodes on CentOS 7, and another set of nodes on Rocky 9. During this interim period, the command puma9 was used to target the latter.
  • Now that the upgrade is complete, the command puma9 has been discontinued, and puma now targets the entire Puma cluster, which is operating on Rocky 9.

Adapting existing analyses.

Support

Please open a support ticket if you have difficulty using the new updated Puma9 system.

Researchers may currently use cluster resources in a number of ways. Here are general guidelines for adapting to the new environment:

Users of Open OnDemand
Open OnDemand users should generally be able to continue usage unchanged. However, users of RStudio should see the R section below.
Users of software modules
Users who load analysis software with the module load command will generally be able to continue their analyses unchanged. All commonly used software modules have been transferred to Puma9, sometimes with version updates or changes.
Users of Conda environments
We recommend switching to Mamba going forward. However, many Conda users should be able to continue using their existing environments, although in some cases may need to recreate them.
Users of Python
Users who run pure Python code, with or without the use of virtual environments will likely be able to continue their analyses unchanged. The same versions of Python are available on Puma9.

Users of R

  • The primary challenge for R users will be to maintain separate R package libraries for the old and new operating systems. R packages installed under the old CentOS 7 operating system may not function under the new Rocky 9 systems, and vice versa.
  • R users should maintain separate R libraries and switch between them as necessary. See the Creating a Custom Library and Switching Between Custom Libraries sections on our R documentation page for details. We suggest that your Puma9 R library be named something like ~/R/library_4.4-puma9.
Users who compile code themselves
In many cases user-compiled software will need to be recompiled to run on Puma9.

Important software changes

  • The procedure for using the Conda package manager is expected to change, and existing environments will likely need to be rebuilt. More news on this will be forthcoming.
  • In addition to the currently available Cuda 11.8, Cuda 12.4 and 12.5 will also be available.

Intel compiled software

  • On the previous system, a number of software modules were provided for use in compiling software using the Intel compiler, e.g., modules hdf5-intel, netcdf-intel, etc.
  • On the new system, you should first load the Intel software module with module swap gnu13 intel. After loading the Intel module, you can load the Intel specific modules without the -intel specifier, i.e., as hdf5, netcdf, etc.
old module name use now
hdf5-intel hdf5
netcdf-intel netcdf
netcdf-cxx-intel netcdf-cxx
netcdf-fortran-intel netcdf-fortran
petsc-complex/intel petsc
petsc-real/intel petsc
gsl-intel gsl
phdf5-intel phdf5

Anaconda / Conda / Mamba

Mamba Guide

See Mamba for our guide on using Mamba in place of Anaconda.

While not part of the OS updates itself, we want to take this opportunity to bring to your attention upcoming changes to our use of Anaconda. Anaconda.org has started enforcing license restrictions which has necessitated these changes. You can read more about the license restrictions here.

In short:

  1. The license restrictions only come into effect when a user installs packages from The Anaconda Repository.
  2. The license restrictions do not apply if a user uses the conda tool to install packages from community repositories like conda-forge.

The existing Anaconda modules on the HPC automatically load The Anaconda Repository, and thus come under the purview of the license restrictions. If you use a local installation of conda(not the Anaconda modules), and you only install packages from community repositories, you need not read any further. However, you might still find the following useful.

We are considering the following changes to help users transition to a new setup that will not be affected by the license restrictions:

  1. Deprecating the existing Anaconda modules. We will not install any new version of Anaconda. The existing modules will stay for a while, likely not beyond the end of the year, to give users time to transition to the new setup.
  2. Creating a new module based on the Miniforge distribution. Miniforge provides access to two tools — conda and mamba — and the conda-forge repository.

With the Miniforge module you will be able to do the following:

  1. Install software from conda-forge, which is an extensive community repository. Whatever software you want, you will likely find it there. Of course, if required you will be able to use other repositories, except The Anaconda Repository.
  2. You can use mambda instead of conda. While access to conda will not go away, mamba is a much, much faster drop-in replacement for conda. Almost anything conda can do, mamba can do faster. Sometimes even succeeding where conda fails. We think you will have a much pleasant experience with mamba than with conda.

If you are on the fence about this change, we highly recommend that you use the transition period to recreate and test your workflows and scripts with the mamba + conda-forge setup. Please do not wait till the last moment to make the necessary changes. While mamba is a drop-in replacement for conda, it is not a guarantee that your existing scripts will not break. Going forward, mamba + conda-forge will be the main setup that we support. We will share more details about how to use mamba shortly.