Using Software on Pitzer RHEL 7

While OSC has upgraded the Pitzer cluster to RHEL 9, you may encounter difficulties when migrating jobs from RHEL 7 to the new system. To help you continue your research, we provide a containerized RHEL 7 environment on Pitzer RHEL 9. This container replicates the original RHEL 7 system and software environment used on Pitzer.

Important: Multi-node MPI jobs are not supported in this containerized environment due to incompatibilities between the host and the container.

Reusing Job Scripts

Assume you have an existing job script that previously worked on Pitzer RHEL 7 (e.g., my_rhel7_job.sh):

#!/bin/bash
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=4

my_rhel7_program

To run this script within the RHEL 7 container on Pitzer RHEL 9, prepare a new job script that uses the container wrapper, such as my_rhel7_job_in_container.sh:

#!/bin/bash
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=4

/apps/share/tools/rhel7_wrapper.sh ./my_rhel7_job.sh

Then submit the job with:

sbatch my_rhel7_job_in_container.sh

Note: The SLURM version inside the container is not compatible with the host system. Therefore, any SLURM-specific commands in your job script (such as srun or sbcast) will not work. You should replace them with alternatives like mpirun/mpiexec and cp, respectively.

GPU support and extra bind path

If your job requires GPUs, append the --nv option:

/apps/share/tools/rhel7_wrapper.sh --nv ./my_rhel7_job.sh

By default, you can access your own home directory. If you need access to another user's home directory that has been shared with you, use the --bind option:

/apps/share/tools/rhel7_wrapper.sh --bind /someone/else/home ./my_rhel7_job.sh

Working Interactively in the RHEL 7 Environment

In some cases, you may need to recompile your program within the RHEL 7 environment. You can either use the job script mentioned above or launch an interactive container shell session after starting an interactive job:

/apps/share/tools/rhel7_shell.sh

Once inside the container shell, initialize the RHEL 7 environment by running:

source /etc/profile.d/lmod.sh
source /etc/profile.d/z00_StdEnv.sh
module rm xalt

You can verify that the RHEL 7 environment is properly set up by running:

module list

The options --nv and --bind are also available in the rhel7_shell.sh script.

Supercomputer: 
Fields of Science: