HPC Carpentry Curriculum


  • The lessons have as a pre-requisite the Software Carpentry Unix Shell intro lesson.
  • The lessons are aimed at novice HPC users who need to be able to operate a batch resource manager.
  • The focus of the lessons are resource manager operations, the benefits and diminishing returns of parallelism, and workflow automation.

Workshop Narrative: the Amdahl Executable


  • HPC Carpentry workshops are centered on an exploration of Amdahl’s law of scaling, illustrating the diminishing gains of increasingly parallelisation.
  • Amdahl is a Python executable that runs for a specified amount of time but does nothing else.
  • amdahl is in the Python package index (pip install amdahl) as well as the EESSI virtual filesystem
  • amdahl depends on mpi4py and a working MPI installation!

The Pre-Workshop Checklists


  • The selection of HPC resources depends on your audience.
  • Cloud resources are well suited for a general introduction.
  • Specific local HPC resources are best for teaching HPC principles combined with how to access local resources.

Forking the Introduction to HPC Repository


  • When using cloud-based resources with Magic Castle installation, there is no need to fork materials.
  • Fork if you wish or require customizations.
  • Customizations can only be configured per specific site; different customizations necessitate separate forks.

Customize the lesson material


  • Any divergence from the core material introduces a maintenance debt.
  • Use the recommended customization methods.
  • Do not make significant additions to the material without adjusting the time available.
  • Only customize what helps the learner match the in-class and out-of-class experience.