FAQ: Working interactively with SLURM

If you want to run interactive programs for testing purposes you can allocate an interactive bash shell on the testing queues of the HPC systems.

Linux Cluster

Please see first: Running parallel jobs on the Linux-Cluster

Tipps and Tricks

The following command line allocates one node (48 cores) for 20 minutes:

$ salloc -pcm2_inter --time=00:20:00 -n 1 srun --pty bash -i

define an alias for a interactive bash shell:

alias sbash="salloc -pcm2_inter --time=00:20:00 -n 1 srun --pty bash -i"

You can then start an interactive shell on one compute node in the test queue by:

$ sbash
salloc -pcm2_inter --time=00:20:00 -n 1 srun --pty bash -i
salloc: Granted job allocation 173288

Other default variables that are handy to use are:

SALLOC_PARTITION=cm2_inter
SALLOC_TIMELIMIT=00:20:00
SALLOC_USE_MIN_NODES=1

You can then run a test job by using:

$ salloc srun date


SuperMUC-NG

The following command line allocates one node (48 cores) for 20 minutes:

$ salloc --account=<myproject> -ptest --time=00:20:00 -n 1 srun --pty bash -i

You have to enter a valid accounting project to which you belong. If you want to set a default budget project then use the following env vars in your .bashrc, which define defaults for interactive and batch jobs.

SALLOC_ACCOUNT = <my project>
SBATCH_ACCOUNT = <my project>

then define an alias for a interactive bash shell:

alias sbash="salloc -ptest --time=00:20:00 -n 1 srun --pty bash -i"

You can then start an interactive shell on one compute node in the test queue by:

$ sbash
salloc: Pending job allocation 254104
salloc: job 254104 queued and waiting for resources
salloc: job 254104 has been allocated resources
salloc: Granted job allocation 254104
srun: Step created for job 254104
14:48:08 a2815ah@i01r01c06s06:~

When you want to test on more than one node you can change the command to:

$ salloc -ptest --time=00:20:00 -n 2 srun --pty bash -i

which allocates 2 worker nodes.

Other default variables that are handy to use are:

SALLOC_PARTITION=test
SALLOC_TIMELIMIT=00:20:00
SALLOC_USE_MIN_NODES=1

You can then run a test job by using:

$ salloc -n 2 mpiexec date