Hyppää sisältöön

Significant changes to Puhti & Mahti authentication coming in April! Read about the SSH key and multi-factor authentication requirements.

Esimerkki eräajojärjestelmistä Puhti

Esimerkki eräajojärjestelmistä erilaisten sovellusten/ohjelmien ajamiseen Puhtilla.

Muokkaa paikkamerkkejä tarvittaessa

Kun käytät näitä skriptejä, muista muuttaa resurssit (ajoaika, tehtävät jne.) niin, että ne sopivat tarpeisiisi, ja korvaa myprog <options> suoritettavalla ohjelmalla (ja optioilla), jota aiot käyttää. Älä myöskään unohda korvata <project>-kohtaa laskutusprojektisi nimellä (katso MyCSC tai csc-projects-komennolla).

Sarja

#!/bin/bash
#SBATCH --job-name=example
#SBATCH --account=<project>
#SBATCH --partition=small
#SBATCH --time=02:00:00
#SBATCH --ntasks=1
#SBATCH --mem-per-cpu=4000

srun myprog <options>

OpenMP

#!/bin/bash
#SBATCH --job-name=example
#SBATCH --account=<project>
#SBATCH --partition=small
#SBATCH --time=02:00:00
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=6
#SBATCH --mem-per-cpu=4000

# aseta säikeiden määrä --cpus-per-task perusteella
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK

srun myprog <options>

MPI

#!/bin/bash
#SBATCH --job-name=example
#SBATCH --account=<project>
#SBATCH --partition=small
#SBATCH --time=02:00:00
#SBATCH --ntasks=40
#SBATCH --mem-per-cpu=4000

srun myprog <options>

Suuri MPI

#!/bin/bash
#SBATCH --job-name=example
#SBATCH --account=<project>
#SBATCH --partition=large
#SBATCH --time=02:00:00
#SBATCH --nodes=8
#SBATCH --ntasks-per-node=40
#SBATCH --mem-per-cpu=4000

srun myprog <options>

MPI + OpenMP

#!/bin/bash
#SBATCH --job-name=example
#SBATCH --account=<project>
#SBATCH --partition=large
#SBATCH --time=02:00:00
#SBATCH --ntasks=8
#SBATCH --cpus-per-task=10
#SBATCH --mem-per-cpu=4000

# aseta säikeiden määrä --cpus-per-task perusteella
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK

srun myprog <options>

Yksittäinen GPU

#!/bin/bash
#SBATCH --job-name=example
#SBATCH --account=<project>
#SBATCH --partition=gpu
#SBATCH --time=02:00:00
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=10
#SBATCH --mem-per-cpu=8000
#SBATCH --gres=gpu:v100:1

srun myprog <options>

Useita GPU:ita

#!/bin/bash
#SBATCH --job-name=example
#SBATCH --account=<project>
#SBATCH --partition=gpu
#SBATCH --time=02:00:00
#SBATCH --ntasks=4
#SBATCH --cpus-per-task=10
#SBATCH --mem-per-cpu=8000
#SBATCH --gres=gpu:v100:4

srun myprog <options>

Interaktiivinen X11-grafiikalla

Anna tämä suoraan komennolla eikä käyttämällä eräajojärjestelmää tai sbatchia. Huomaa, että sinun saattaa joutua jonottamaan, joten on kätevää pyytää sähköpostivahvistus resurssien myöntämisestä (--mail-type=BEGIN).

srun --ntasks=1 --time=00:10:00 --mem=1G --x11=first --pty \
     --account=<project> --partition=small --mail-type=BEGIN \
     myprog

Katso myös Interaktiivinen käyttö.

Paikallinen tallennustila

#!/bin/bash
#SBATCH --job-name=example
#SBATCH --account=<project>
#SBATCH --partition=small
#SBATCH --time=02:00:00
#SBATCH --ntasks=1
#SBATCH --mem-per-cpu=4000
#SBATCH --gres=nvme:10

# käytä paikallista tallennustilaa muuttujan $LOCAL_SCRATCH avulla, esim.
cd $LOCAL_SCRATCH

srun myprog <options>

# siirrä tärkeät tiedot hakemistoon, josta työ lähetettiin, esim.
mv mydata $SLURM_SUBMIT_DIR

Muista palauttaa tietosi

Paikallinen tallennustila tyhjennetään jokaisen eräajon jälkeen. Älä unohda siirtää tietoja, jotka haluat säilyttää, paikalliselta levyltä takaisin jaettuun levyalustaan (esim. /scratch).