Newer
Older
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons Licence" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.
# Intro
Teaching material used during the High Performance Computing session of the EMBL Software Carpentry course.
# Commands
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/msmith/embl_hpc.git
```
## Identifying our computer
```
hostname
```
## Our first SLURM job
```
srun hostname
```
```
## 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
sbatch --output=output.txt --reservation=training ./batch_job.sh
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
```
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
sbatch --mem=100G --reservation=training ./batch_job.sh 30 5000
```
## Cancel jobs
```
scancel <jobID>
scancel -u <username>
```
## Defining time limits
```
sbatch --time=0000:00:30 \
--reservation=training \
batch_job.sh 60 500
```
## Job efficiency statistics
```
seff <jobID>
```
## Emailing output
```
sbatch --mailuser=<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
```