Training
Material Creation for
HPC software development is about bridging the gap between "Code that
works" and "Code that scales."
A standard
developer writes code that runs on 1 core. An HPC developer writes code that
must coordinate 100,000 cores without crashing. The training materials must
focus on Parallel Paradigms, Memory Hierarchy, and the "Think
in Vectors" mindset.
Here is the
detailed breakdown of the curriculum structure, the "Code Clinic"
methodology, and the hands-on lab modules, followed by the downloadable Word
file.
1. The
Core Curriculum: The "HPC Stack"
The
training materials should be organized into four progressive modules.
Module
1: The Architecture (Know Your Hardware)
Module 2: Parallel Programming
Models
2.
Material Formats: The "Code Clinic" Approach
Static
slides put developers to sleep. Use these formats instead:
3. The
Debugging & Profiling Module
Teaching
how to code is easy; teaching how to fix bugs in parallel is hard.
4. Key Applications & Tools
|
Category |
Tool |
Usage |
|
Compiler |
Compiler Explorer (Godbolt) |
A web
tool to show how C++ code turns into Assembly. Great for teaching Vectorization. |
|
Profiling |
Intel VTune / Advisor |
The gold
standard for visualizing bottlenecks. "Advisor" specifically tells
you what to change in your code. |
|
Debugging |
TotalView / DDT |
Specialized
debuggers that can visualize data arrays distributed across 100 nodes. |
|
Repo |
GitHub Classroom |
Automates
the distribution of the "Broken Code" assignments and auto-grades
the performance improvements. |