Reference
Last updated on 2026-10-26 | Edit this page
Short meanings for the words this lesson uses. The command you type is in the episode. This page is the reminder.
Machines
-
Login node. The shared SSH host. Edit and submit
here. Do not run the long job here. On Snellius the name starts with
int. - Compute node. The host that runs the job. Slurm starts your script there.
-
Snellius. The national system.
ssh YOUR_LOGIN@snellius.surf.nlafter the SURF account exists. https://www.surf.nl/en/services/compute/snellius-the-national-supercomputer - Course cluster. The Magic Castle workspace for this course. The address is in the welcome note. https://github.com/ComputeCanada/magic_castle
- Scheduler. The program that waits for resources and then starts the job. Here it is Slurm.
Software
-
CVMFS. The file system that shows
/cvmfs/software.eessi.ioand fetches a file when you use it. -
EESSI. The shared software stack. Start 2025.06
with
source /cvmfs/software.eessi.io/versions/2025.06/init/lmod/bash. https://www.eessi.io/isc26-tutorial/usage/ -
Module. A name that puts one build on your
PATH.module spidersearches.module loadselects.module purgeclears. - CPU target. The line the init script prints, such as a Sapphire Rapids path. Do not copy someone else's path into your script.
- EasyBuild. The tool that builds a module from a recipe. It is not taught here. The book is https://hpceb.rgoswami.me/ and the sources are https://github.com/HaoZeke/what-easybuild-is-doing.
Slurm
-
sbatchsubmits a script. https://slurm.schedmd.com/sbatch.html -
squeueshows waiting and running jobs. https://slurm.schedmd.com/squeue.html -
scancelremoves a job id. -
#SBATCHis a request in the script header. The class table isepisodes/files/slurm-directives.tsv. - Job array. One script, many tasks, one index each. https://slurm.schedmd.com/job_array.html
-
SLURM_ARRAY_TASK_IDis that index inside the task. -
%jin an output name becomes the job id.%Ais the array id and%ais the task id.
Files
-
/homeon Snellius is small, backed up, and capped at 200 GiB. -
/scratch-sharedkeeps an unused file for 14 days. -
/scratch-localkeeps a file for 6 days. -
/scratch-nodeand$TMPDIRdisappear when the job ends. -
/projectsis shared project storage./archiveis the long-term store. - On the course cluster,
/projectis the large shared disk and/scratchis local to one machine. -
tarpacks a tree into one file.rsync -avPcopies it.sha256sum -cchecks it. -
dcp,dsync, anddwalkare the parallel tools in mpiFileUtils.dcpis documented at https://mpifileutils.readthedocs.io/en/latest/dcp.1.html. Pack tiny files first.
Many tasks
- Pilot job. One Slurm allocation, and a manager inside it that starts the short tasks.
-
QCG-PilotJob. The pilot manager on the course
cluster. Load
2024, thenQCG-PilotJob. It is not an EESSI module. https://qcg-pilotjob.readthedocs.io/en/latest/ - HyperQueue. A server that fills Slurm workers with tasks. https://github.com/It4innovations/hyperqueue
- Snakemake. Rules that rebuild files. https://snakemake.readthedocs.io/en/stable/
- FireWorks. Tasks stored in a database. https://materialsproject.github.io/fireworks/
Timing
-
time -pprintsreal,user, andsys.realis the time you waited. - Strong scaling. The problem stays the same size and you add cores.
- Weak scaling. The problem grows so each core keeps about the same work.
-
Speedup.
T(1) / T(N). -
Efficiency.
T(1) / (N * T(N)). The worked eight-core value is 0.625. - Bandwidth roof. The limit set by how fast bytes move.
- Peak roof. The limit set by how fast the cores do arithmetic.
- Arithmetic intensity. Arithmetic per byte moved. It decides which roof you hit.