Skip to content
Snippets Groups Projects
Name Last commit Last update
intermediate
novice
swc
.gitignore
LICENSE.md
README.md

Creative Commons Licence
This work is licensed under a Creative Commons Attribution 4.0 International License.

Intro

Teaching material for cluster computing course at EMBL.

Directory structure:

  • novice/: material for the EMBL-internal Bio-IT course, Introduction to Cluster Computing at EMBL
  • intermediate/: material for the EMBL-internal Bio-IT course, Intermediate Cluster Computing
  • swc/: material for the HPC session of Software Carpentry workshops run at EMBL

Each of the above directories has an exercises/ subdirectory, containing files needed for exercises during the course.

Commands (for EMBL Cluster)

Below are most of the commands used during the practical, so they can be copy/pasted, but I highly recommend typing along if you can.

Login to the frontend node

ssh <username>@login.cluster.embl.de

Clone this git repository

git clone https://git.embl.de/grp-bio-it/embl_hpc.git

Identifying our computer

hostname

Our first SLURM job

srun hostname

Exploring our example program (don't run!)

cd $HOME/embl_hpc/exercises
./hpc_example -t 10 -m 100

Running example program on on the cluster

srun ./hpc_example -t 10 -m 100

Using our reserved training space

srun --reservation=training ./hpc_example -t 10 -m 100

Running in the background

sbatch --reservation=training ./batch_job.sh

Redirecting output

sbatch --output=output.txt --reservation=training ./batch_job.sh

Creating a larger list

You will need to edit batch_jobs.sh to take arguments

sbatch --output=output.txt --reservation=training ./batch_job.sh 20 ???

Displaying details of our cluster queue

scontrol show partition

Requesting more resources

sbatch --mem=8200 --reservation=training ./batch_job.sh 30 8000

Requesting a lot more resources

sbatch --mem=100G --reservation=training ./batch_job.sh 30 5000

Cancel jobs

scancel <jobID>
scancel -u <username>

Defining time limits

sbatch ­­--time=00 00:00:30  \
      --reservation=training \
    batch_job.sh 60 500

Job efficiency statistics

seff <jobID>

Emailing output

sbatch ­­--mail-user=<first.last>@embl.de \
    ­­--reservation=training \
    ./batch_job.sh 20 500

Finding and using software

module avail
module spider samtools
module load BWA

BWA example

nano bwa/bwa_batch.sh
sbatch --reservation=training bwa/bwa_batch.sh

Running interactive jobs

srun --pty bash

Interactive job with more memory

srun --mem=250 --pty bash

Using sbatch instead

sbatch batch_jobs.sh

Using job dependencies to build pipelines

jid=$(sbatch --parsable batch_job.sh)

sbatch --dependency=afterok:$jid batch_job.sh