Instructor Notes

Timing


Episode Teaching Exercises
Nodes, tasks, and threads 20 20
AXPY 15 25
Dot product 15 25
Matrix multiplication 10 30

License


This lesson is CC-BY 4.0. It is adapted from Introducción a la Supercomputación by José Luis Bosque, Borja Pérez, Ramón Beivide, and Carmen Martínez, Universidad de Cantabria, by the EuroCC NL team at SURF. The names are on the lesson index and in AUTHORS and CITATION.cff.

Cluster tabs


The course cluster is a SURF Research Cloud workspace. The course tab requests --partition=rome. Snellius keeps the #SBATCH lines in the scripts. The course tab of the two-core snippet has the override table. Command-line sbatch options override those lines. Learners should not edit the scripts to shrink a job.

The sample output times in the episodes are one recorded run from the module. Learners record their own times. AXPY is limited by memory bandwidth, so those times flatten early. Teach that shape. The seconds come from the room’s jobs.

Idris


Idris requests one core and 16 threads. --cpus-per-task is the core count. The hybrid scripts set the thread count from that variable. One core runs one thread at a time. Sixteen threads need sixteen cores on a machine that has them.

Network


Snellius uses InfiniBand. The course machines use Ethernet. Cross-node scaling on the course machines is weaker. Say that before anyone compares a three-node course run with a Snellius run.

Nodes, tasks, and threads


AXPY


Dot product


Matrix multiplication