This lesson is in the early stages of development (Alpha version)

High-Performance Computing, Beyond

This workshop is an introduction to using high-performance computing systems effectively. We obviously can’t cover every case or give an exhaustive course on parallel programming in just two days’ of teaching time. Instead, this workshop is intended to give students a good introduction and overview of the tools available and how to use them effectively.

By the end of this workshop, students will know how to:

Note

  • This is the draft HPC Carpentry release. Comments and feedback are welcome.
  • Link to hpc-shell when that is complete.

Prerequisites

Command line experience is necessary for this lesson. We recommend the participants to go through https://swcarpentry.github.io/shell-novice/ if new to the terminal.

Schedule

Setup Download files required for the lesson
00:00 1. Compiling on a cluster How do I compile C and FORTRAN programs?
What compilers can I use?
00:20 2. Introduction to Parallelism What is parallelism?
What types of parallel jobs are there?
How do the parallel job types impact scheduling?
00:45 3. Compiling MPI code on a cluster How do I compile and run MPI programs?
01:10 4. Compiling OpenMP code on a cluster How do I compile and run OpenMP programs?
01:35 5. Benchmarking and Optimization How do I benchmark programs?
Can the compiler help optimize code for me?
How do I find a good value for the number of processors I should use?
02:30 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.