1. Home
  2. Mario Cluster
  3. Submitting OpenMP jobs (multi-threaded)

Submitting OpenMP jobs (multi-threaded)

Sample script
OpenMP (multi-threaded) job sample script – sample.sub

#!/bin/bash
#
# Job name
#SBATCH --job-name=ompi_lws
# STDOUT file; "N" is node number and "j" job id number
#SBATCH --output=ompi-lws_%N_%j.out
# STDERR file; "N" is node number and "j" job id number
#SBATCH --error=ompi-lws_%N_%j.err
#
# Set partition [change]
#SBATCH --partition=devel
#
# Number of tasks per node
#SBATCH --ntasks=1
# Number of CPUs required for the process
#SBATCH --cpus-per-task=32
#
# Memory requirement
#SBATCH --mem=100
#
# Total wall-time
#SBATCH --time=00:05:00
#
# To get email alert [Optional] 
# NOTE: Remove one "#" and "write your email ID" (ex: #SBATCH --mail-user=hemanta.kumar@icts.res.in)
##SBATCH --mail-user= email id
##SBATCH --mail-type=ALL 

export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK

date
./openmp_loopwork_share
date
Submit job:
sbatch sample.sub

The job’s status in the queue can be monitored with squeue; (add -u username to focus on a particular user’s jobs).

The job can be deleted with scancel <job_id> .

When the job finishes (in error or correctly) there will normally be one file created in the submission directory with the name of the form slurm-NNNN.out (where NNNN is the job id).

Submit script flags

ResourceFlag SyntaxDescriptionNotes
job name-J, --job-name=hello_testName of jobdefault is the JobID
partition-p, --partition=develPartition is a queue for jobsdefault partition maked with *, devel is the default partition on Mario
time-t, --time=01:00:00Time limit for the job. Acceptable time formats include minutes, minutes:seconds, hours:minutes:seconds, days-hours, days-hours:minutes and days-hours:minutes:secondshere it is given as 1 hour
nodes-N, --nodes=2Number of compute nodes for the jobdefault is 1 compute node
number tasks-n, --ntasks=1A maximum of number tasks and to provide for sufficient resources.default is 1 task per node
ntasks on each node--ntasks-per-node=8Request that ntasks be invoked on each node. If used with the --ntasks option, the --ntasks option will take precedence and the --ntasks-per-node will be treated as a maximum count of tasks per nodedefault is 1 task per node
memory--mem=32000Memory limit per compute node for the job. Do not use with mem-per-cpu flagby default memory in MB
memory per CPU--mem-per-cpu=1000per core memory limit. Do not use with mem flagby default memory in MB
output file-o, --output=test.outName of file for stdoutdefault is the JobID
error file-e, --error=test.errName of file for stderrdefault is the JobID
email address--mail-user=username@buffalo.eduUser's email addresssend email on submition and complition of job OR omit for no email
email notification--mail-type=ALL –mail-type=ENDWhen email is sent to user.omit for no email
Was this article helpful to you? Yes No