Key Points
What a supercomputer is
- A supercomputer is a login node, a scheduler, and compute nodes.
-
ssh YOUR_LOGIN@snellius.surf.nlreaches Snellius after you have a CUA account. - The course cluster is a Magic Castle workspace. Its address is in your welcome note.
-
hostnameon a Snellius login node starts withint. - A long computation does not belong on the login node.
Software from a shared stack
- A shared stack means one supported copy of a program, selected with a module.
-
source /cvmfs/software.eessi.io/versions/2025.06/init/lmod/bashprepares EESSI 2025.06. -
module spidersearches.module loadselects.module purgeclears the selection. - On the course cluster,
module load 2025is the site name for EESSI 2025.06. - EasyBuild, and how a module file is produced, is the book at https://hpceb.rgoswami.me/.
Submitting a job
- A batch script is a shell script plus
#SBATCHresource lines. -
sbatchsubmits.squeueshows the wait.scancelremoves a job. - On Snellius
rome, ask for 16 cores because smaller requests are rounded up. - On the course cluster, ask for 1 core on
thin_courseorrome. -
SLURM_ARRAY_TASK_IDselects the input for one task in an array.
Files and moving data
- On Snellius, home is small and persistent, scratch is large and
temporary, and
$TMPDIRdies with the job. - On the course cluster,
/projectis the shared large disk and/scratchis local to one machine. - Pack many small files with
tarbefore you transfer them. -
rsync -avPcopies the archive.sha256sum -cchecks it. -
dcpanddsyncare for a tree that is already too big for onersync.
Many small tasks
- Thousands of one-task Slurm jobs spend their time starting, not working.
- A pilot job holds one allocation and starts the short tasks inside it.
- On the course cluster,
module load 2024and thenmodule load QCG-PilotJob. - QCG-PilotJob is not an EESSI module.
module spiderinside EESSI will not find it. - HyperQueue fills a Slurm allocation, Snakemake tracks files, and FireWorks tracks tasks in a database.
Timing and scaling
-
time -pprintsreal,user, andsys.realis the time you waited. - Strong scaling fixes the problem size. Weak scaling grows it with the cores.
- Efficiency is
T(1) / (N * T(N)). The sample eight-core efficiency is 0.625. - A roofline separates a kernel limited by arithmetic from one limited by memory movement.
- Compare timings of the same work. One noisy run is a weak basis for a claim.