Content from Customizing HPC Carpentry Material
Last updated on 2026-02-20 | Edit this page
Estimated time: 52 minutes
Overview
Questions
- Where are the files I need to edit?
- What parameters should I set?
- What might my cluster’s admins help me with?
- When should I make a new snippet? How?
Objectives
- Explain how to customize the site for your cluster
- Instruct how to build and serve the site
- Demonstrate how to include pieces of code, output, and custom teaching material
Introduction
Every compute cluster is a little different, and HPC Carpentry works best when the lesson materials reflect those differences. We use the Workbench built-in tools and R Markdown to render this customizxed content, structured with maintainability in mind. We want to support edits without breaking synchronization with the upstream repositories: you have good ideas, and we want to incorporate better preactices!
Inline instructor notes can help inform instructors of timing challenges associated with the lessons. They appear in the “Instructor View”
Challenge 1: Can you do it?
What is the output of this command?
R
paste("This", "new", "lesson", "looks", "good")
OUTPUT
[1] "This new lesson looks good"
Challenge 2: how do you nest solutions within challenge blocks?
You can add a line with at least three colons and a
solution tag.
Figures
You can use standard markdown for static figures with the following syntax:
{alt='alt text for accessibility purposes'}
Callout sections can highlight information.
They are sometimes used to emphasise particularly important points but are also used in some lessons to present “asides”: content that is not central to the narrative of the lesson, e.g. by providing the answer to a commonly-asked question.
Math
One of our episodes contains \(\LaTeX\) equations when describing how to create dynamic reports with {knitr}, so we now use mathjax to describe this:
$\alpha = \dfrac{1}{(1 - \beta)^2}$ becomes: \(\alpha = \dfrac{1}{(1 - \beta)^2}\)
Cool, right?
- Use
.mdfiles for episodes when you want static content - Use
.Rmdfiles for episodes when you need to generate output - Run
sandpaper::check_lesson()to identify any issues with your lesson - Run
sandpaper::build_lesson()to preview your lesson locally
Content from HPC Carpentry Curriculum
Last updated on 2026-02-20 | Edit this page
Estimated time: 12 minutes
Overview
Questions
Objectives
Content from Workshop Narrative: the Amdahl Executable
Last updated on 2026-02-20 | Edit this page
Estimated time: 12 minutes
Overview
Questions
- What is the central example in an HPC Carpentry workshop?
- What does the Amdahl program do?
- Why do we need
amdahlwhen there are lots of parallel applications out there? - How do I install the amdahl package?
Objectives
After this episode, Instructors will be able to…
- Describe the story we tell to guide learners through an HPC Carpentry workshop.
- Describe what the Amdahl executable does.
- Install 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.
-
amdahlis in the Python package index (pip install amdahl) as well as the EESSI virtual filesystem -
amdahldepends onmpi4pyand a working MPI installation!
Content from HPC Carpentry Curriculum
Last updated on 2026-02-20 | Edit this page
Estimated time: 12 minutes
Overview
Questions
Objectives
Content from HPC Carpentry Curriculum
Last updated on 2026-02-20 | Edit this page
Estimated time: 12 minutes
Overview
Questions
Objectives
Content from HPC Carpentry Curriculum
Last updated on 2026-02-20 | Edit this page
Estimated time: 12 minutes
What do we intend to convey through our workshops? What tools do we use? What do we cover, and intentionally not cover?