a national resource for computational science education

HOME UPEP Shodor Blue Waters

A Beginner's Guide to High-Performance Computing

By Rubin H. Landau
Oregon State University

This module presents some of the general ideas behind and basic principles of high-performance computing (HPC) as performed on a supercomputer. These concepts should remain valid even as the technical specifications of the latest machines continually change. Although this material is aimed at HPC supercomputers, if history be a guide, present HPC hardware and software become desktop machines in less than a decade.

Upon completion of this module, students should be able to:

  • Understand in a general sense the architecture of high performance computers.
  • Understand how the architecture of high performance computers affects the speed of programs run on HPCs.
  • Understand how memory access affects the speed of HPC programs.
  • Understand Amdahl's law for parallel and serial computing.
  • Understand the importance of communication overhead in high performance computing.
  • Understand some of the general types of parallel computers.
  • Understand how different types of problems are best suited for different types of parallel computers.
  • Understand some of the practical aspects of message passing on MIMD machines.

The documents can be downloaded below.


Module Document : The module document for this module.

Code Archive : The codes for this module.

Beginner's Guide to HPC Slides : A zip archive of slides to accompany this module in both pdf and pptx format.