# Job submission via SLURM
# Submitting jobs
Before to job submition the appropriate command launching the application has to be embedded in the script to be correctly read by the queueing system:
/home/users/user/submit_script.sh
Example:
#!/bin/bash
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=4
#SBATCH --mem=4gb
#SBATCH --time=01:00:00
# We set up paths or load appropriate modules
module load plink/1.90
# Set the $TMPDIR variable
export TMPDIR=$HOME/grant_$SLURM_JOB_ACCOUNT/scratch/$USER/$SLURM_JOB_ID
# We set application variables
export SCR=${TMPDIR}
# We set the auxiliary variables
INPUT_DIR="input"
OUTPUT_DIR="output"
OUTPUT_FILE="OUTPUT"
# We create a temporary directory
mkdir -p ${TMPDIR}
# Copy the input data to the directory indicated for the variable $TMPDIR
cp ${SLURM_SUBMIT_DIR}/${INPUT_DIR}/* ${TMPDIR}
# We go to the $TMPDIR directory
cd $TMPDIR
# We make calculations
plink --noweb --file hapmap1
# We finish calculations, copy the contents of the $TMPDIR/output directory
# to the directory from which the task was sealed.
mkdir $SLURM_SUBMIT_DIR/${OUTPUT_DIR}
cp -r $TMPDIR/* $SLURM_SUBMIT_DIR/${OUTPUT_DIR}/
# We're cleaning the working directory
rm -rf $TMPDIR
Example input:
Below are the files that should be in the input directory.
File:Plink input.zip
Job can be submitted using sbatch command
sbatch /home/users/user/submit_script.sh
# Submitting interactive jobs
Interactive jobs can work in two modes:
- text mode
- graphic mode (with output redirection to X)
# Interactive jobs in text mode
In this mode interactive job can be submitted by executing the following command:
srun --pty /bin/bash
or
srun -u /bin/bash -i
First command allocates pseudo terminal making the work on a remote console easier. In case of any problems please use the second command.
# Interactive jobs in graphic mode
From the user point of view it is sufficient to log in to the cluster with -X option:
ssh -X eagle.man.poznan.pl
NOTE: On Windows you must have an X server installed, e.g. Xming, and in the Putty program activate X11 redirection
When you log on to the machine with X, you should have an interactive task
srun --x11 -n28 --pty /bin/bash
Then run the sample program (displays the queue state on the eagle machine)
sview &
# Job submission using GPU cards
To submit a job to node(s) equipped with GPU cards it is required to use tesla partition and add the following section to submission script:
#SBATCH --gpus-per-node=<no. of cards for every task>
Exemplary job using 2 cards should contain the following section:
#SBATCH --gpus-per-node=2
#SBATCH --partition=tesla
To submit a job on a node with a specific GPU, use the following command, adding the --constraint=h100 option if you want to use an NVIDIA H100 GPU. The system offers two types of GPUs: H100 and V100.
Here is an example command:
#SBATCH --gpus-per-node=2 --constraint=h100
#SBATCH --partition=tesla
Selected number of applications are enabled to use GPUs either by built-in functionality or using dedicated module, usually containing "CUDA" in its name, e.g.:
namd/2.10-ibverbs-smp-cuda <- GPU supported version
namd/2.10-multicore(default)
namd/2.10-multicore-cuda <- GPU supported version
namd/2.10-multicore-mic
namd/2.12-ibverbs
namd/2.12-ibverbs-smp
namd/2.12-ibverbs-smp-CUDA <- wGPU supported version
# Checking status of the queue
To check what jobs have been submitted by given user please execute the command:
squeue -u username
View a list of tasks in a given partition
squeue -p standard
View information about a specific task
scontrol show job job_id
# Removing jobs
To remove the job please use scancel command taking job id as a parameter. Both, waiting and running jobs can be removed
scancel job_id