Updates in Slurm
This commit is contained in:
@ -62,11 +62,15 @@ Use **man sbatch** (``man sbatch | grep -A36 '^filename pattern'``) for getting
|
||||
|
||||
## Partitions
|
||||
|
||||
Merlin6 contains 3 partitions for general purpose. These are ``general``, ``daily`` and ``hourly``. If no partition is defined,
|
||||
``general`` will be the default. Partition can be defined with the ``--partition`` option as follows:
|
||||
Merlin6 contains 6 partitions for general purpose:
|
||||
|
||||
* For the CPU these are ``general``, ``daily`` and ``hourly``.
|
||||
* For the GPU these are ``gpu_general``, ``gpu_daily`` and ``gpu_hourly``.
|
||||
|
||||
If no partition is defined, ``general`` will be the default. Partition can be defined with the ``--partition`` option as follows:
|
||||
|
||||
```bash
|
||||
#SBATCH --partition=<general|daily|hourly> # Partition to use. 'general' is the 'default'.
|
||||
#SBATCH --partition=<partition_name> # Partition to use. 'general' is the 'default'.
|
||||
```
|
||||
|
||||
Please check the section [Slurm Configuration#Merlin6 Slurm Partitions] for more information about Merlin6 partition setup.
|
||||
@ -76,14 +80,6 @@ Please check the section [Slurm Configuration#Merlin6 Slurm Partitions] for more
|
||||
CPU-based jobs are available for all PSI users. Users must belong to the ``merlin6`` Slurm ``Account`` in order to be able
|
||||
to run on CPU-based nodes. All users registered in Merlin6 are automatically included in the ``Account``.
|
||||
|
||||
### Slurm CPU Mandatory Settings
|
||||
|
||||
The following options are mandatory settings that **must be included** in your batch scripts:
|
||||
|
||||
```bash
|
||||
#SBATCH --constraint=mc # Always set it to 'mc' for CPU jobs.
|
||||
```
|
||||
|
||||
### Slurm CPU Recommended Settings
|
||||
|
||||
There are some settings that are not mandatory but would be needed or useful to specify. These are the following:
|
||||
@ -105,7 +101,6 @@ The following template should be used by any user submitting jobs to CPU nodes:
|
||||
#SBATCH --time=<D-HH:MM:SS> # Strictly recommended when using 'general' partition.
|
||||
#SBATCH --output=<output_file> # Generate custom output file
|
||||
#SBATCH --error=<error_file> # Generate custom error file
|
||||
#SBATCH --constraint=mc # You must specify 'mc' when using 'cpu' jobs
|
||||
#SBATCH --ntasks-per-core=1 # Recommended one thread per core
|
||||
##SBATCH --exclusive # Uncomment if you need exclusive node usage
|
||||
|
||||
@ -130,7 +125,6 @@ are automatically registered to the ``merlin6-gpu`` account. Other users should
|
||||
The following options are mandatory settings that **must be included** in your batch scripts:
|
||||
|
||||
```bash
|
||||
#SBATCH --constraint=gpu # Always set it to 'gpu' for GPU jobs.
|
||||
#SBATCH --gres=gpu # Always set at least this option when using GPUs
|
||||
```
|
||||
|
||||
@ -153,11 +147,10 @@ The following template should be used by any user submitting jobs to GPU nodes:
|
||||
|
||||
```bash
|
||||
#!/bin/sh
|
||||
#SBATCH --partition=<general|daily|hourly> # Specify 'general' or 'daily' or 'hourly'
|
||||
#SBATCH --partition=gpu_<general|daily|hourly> # Specify 'general' or 'daily' or 'hourly'
|
||||
#SBATCH --time=<D-HH:MM:SS> # Strictly recommended when using 'general' partition.
|
||||
#SBATCH --output=<output_file> # Generate custom output file
|
||||
#SBATCH --error=<error_file # Generate custom error file
|
||||
#SBATCH --constraint=gpu # You must specify 'gpu' for using GPUs
|
||||
#SBATCH --gres="gpu:<type>:<number_gpus>" # You should specify at least 'gpu'
|
||||
#SBATCH --ntasks-per-core=1 # GPU nodes have hyper-threading disabled
|
||||
##SBATCH --exclusive # Uncomment if you need exclusive node usage
|
||||
|
@ -15,7 +15,6 @@ permalink: /merlin6/slurm-examples.html
|
||||
```bash
|
||||
#!/bin/bash
|
||||
#SBATCH --partition=hourly # Using 'hourly' will grant higher priority
|
||||
#SBATCH --constraint=mc # Use CPU batch system
|
||||
#SBATCH --ntasks-per-core=1 # Force no Hyper-Threading, will run 1 task per core
|
||||
#SBATCH --mem-per-cpu=8000 # Double the default memory per cpu
|
||||
#SBATCH --time=00:30:00 # Define max time job will run
|
||||
@ -35,7 +34,6 @@ hyperthreads), hence we want to use the memory as if we were using 2 threads.
|
||||
```bash
|
||||
#!/bin/bash
|
||||
#SBATCH --partition=hourly # Using 'hourly' will grant higher priority
|
||||
#SBATCH --constraint=mc # Use CPU batch system
|
||||
#SBATCH --ntasks-per-core=1 # Force no Hyper-Threading, will run 1 task per core
|
||||
#SBATCH --mem=352000 # We want to use the whole memory
|
||||
#SBATCH --time=00:30:00 # Define max time job will run
|
||||
@ -58,7 +56,6 @@ the job will use. This must be done in order to avoid conflicts with other jobs
|
||||
#SBATCH --exclusive # Use the node in exclusive mode
|
||||
#SBATCH --ntasks=88 # Job will run 88 tasks
|
||||
#SBATCH --ntasks-per-core=2 # Force Hyper-Threading, will run 2 tasks per core
|
||||
#SBATCH --constraint=mc # Use CPU batch system
|
||||
#SBATCH --time=00:30:00 # Define max time job will run
|
||||
#SBATCH --output=myscript.out # Define your output file
|
||||
#SBATCH --error=myscript.err # Define your error file
|
||||
@ -81,7 +78,6 @@ per thread is 4000MB, in total this job can use up to 352000MB memory which is t
|
||||
#SBATCH --ntasks=44 # Job will run 44 tasks
|
||||
#SBATCH --ntasks-per-core=1 # Force no Hyper-Threading, will run 1 task per core
|
||||
#SBATCH --mem=352000 # Define the whole memory of the node
|
||||
#SBATCH --constraint=mc # Use CPU batch system
|
||||
#SBATCH --time=00:30:00 # Define max time job will run
|
||||
#SBATCH --output=myscript.out # Define your output file
|
||||
#SBATCH --error=myscript.err # Define your output file
|
||||
|
Reference in New Issue
Block a user