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.

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.
Note: If you need to compile software with intel compilers older than the version 19, which require a license, please contact oschelp@osc.edu. This includes the default intel compiler module.

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: