Runtime Environments
Steve Lantz (2021 author), Aaron Birkland (2014 author)
Cornell Center for Advanced Computing
Revisions: 8/2021, 4/2014 (original)
This topic looks at characteristics and techniques of running different tasks within a single job launched by Slurm, as opposed to running different jobs via the submission process. Slurm's runtime environment:
- Provides the opportunity to launch diverse tasks within a job;
- Supports a communication mechanism among tasks; and
- Contains useful environment variables as well as contextual information.
Objectives
After you complete this topic, you should be able to:
- Demonstrate how to run different tasks within a single Slurm job
- Explain how to invoke MPI tasks
- Give examples of workloads that can run in non-MPI environments
- Explain how to use the
srun
command to launch a set of non-MPI tasks interactively - Describe how TACC's launcher software executes a list of independent tasks in parallel
Prerequisites
- Basic understanding of what Slurm is, how it generally works, and how it is used to submit jobs on an HPC cluster
- Knowledge of the roles of MPI and OpenMP in applications that run on HPC systems
- Familiarity with Linux and scripting languages (e.g., scripting in bash or Python)