🧬 Euler Cheat Sheet

🔢 July 2025, Nik Zemp, GDC

🔐 Login

ssh <USER>@euler.ethz.ch

📦 Software Stack

source /cluster/project/gdc/shared/stack/GDCstack.sh
module --show-hidden avail  # show all available tools
module load <name>          # load a module

📂 File System

👨‍💻
du -sh --si mapping                 # show folder size of mapping
find raw_data | wc -l               # count files in raw_data
    
tar cvzf data1.tar.gz data1         # archive a folder
tar ztvf data1.tar.gz               # list archive contents
tar xvf data1.tar.gz                # extract all
tar xvf data1.tar.gz data1/raw      # extract specific folder

md5sum *fq.gz > md5sums.txt         # generate checksums
md5sum --check md5sums.txt          # verify checksums

⚙️ Job Submission

Key resources to consider

💻 Interaktive Job

srun --pty bash

🔧 Submission script

#!/bin/bash
#SBATCH --job-name=tool                 #name
#SBATCH --array=1-3%3                   #array length
#SBATCH --ntasks=1                      #node (always 1)
#SBATCH --cpus-per-task=2               #2 CPUs
#SBATCH --mem-per-cpu=2G                #memory per 2 CPU; 4G in total
#SBATCH --time=4:00:00                  #run time
#SBATCH --output=tool_%a.log            #logfile

source /cluster/project/gdc/shared/stack/GDCstack.sh
module load <name> 
        
## Array varaible 1-3
IDX=${SLURM_ARRAY_TASK_ID}

<your_commands>
👩‍💻
### Submit a job
sbatch < submit.tool.slurm.sh
    
### Overview of the submitted jobs 
squeue --format='%A %i %j %P %4T %C %m %M %R' | column -t
    
### Kill specific job
scancel <Job-ID>/<Array-ID>

### Kill all running jobs
scancel --user=$USER

👀 Job Monitoring

Running jobs

myjobs

Finished jobs

module load reportseff/2.7.6
reportseff --format JobID,ReqCPUS,CPUEff,ReqMem,MaxRSS,MemEff,Timelimit,lapsed,TimeEff <JobID>
reportseff --user $USER --since d=1 

Get overview

### On Euler
get_inefficient_jobs

📊 WebGUI