Key Points

What a supercomputer is


  • A supercomputer is a login node, a scheduler, and compute nodes.
  • ssh YOUR_LOGIN@snellius.surf.nl reaches Snellius after you have a CUA account.
  • The course cluster is a Magic Castle workspace. Its address is in your welcome note.
  • hostname on a Snellius login node starts with int.
  • 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/bash prepares EESSI 2025.06.
  • module spider searches. module load selects. module purge clears the selection.
  • On the course cluster, module load 2025 is 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 #SBATCH resource lines.
  • sbatch submits. squeue shows the wait. scancel removes 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_course or rome.
  • SLURM_ARRAY_TASK_ID selects 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 $TMPDIR dies with the job.
  • On the course cluster, /project is the shared large disk and /scratch is local to one machine.
  • Pack many small files with tar before you transfer them.
  • rsync -avP copies the archive. sha256sum -c checks it.
  • dcp and dsync are for a tree that is already too big for one rsync.

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 2024 and then module load QCG-PilotJob.
  • QCG-PilotJob is not an EESSI module. module spider inside EESSI will not find it.
  • HyperQueue fills a Slurm allocation, Snakemake tracks files, and FireWorks tracks tasks in a database.

Timing and scaling


  • time -p prints real, user, and sys. real is 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.