Reinventing HPC

HPC Tutorial: Applications, Systems, and Programming Models

In this introductory tutorial, you will learn what "high performance computing" means and what differentiates it from more mainstream areas of computing. You will also be introduced to the major applications that use high performance computing for research and commercial purposes, and how AI and HPC interact with each other. Then, we present the major HPC system architectures needed to run these applications. Finally, you will be provided with an overview of the languages and paradigms used to program HPC applications and systems. The tutorial will be presented by Dr.-Ing. Bernd Mohr from the Jülich Supercomputing Centre.

 

Contents

  • HPC Application Areas
  • Interplay between AI and HPC
  • Basic Terminology
  • Evaluating Program Performance
  • HPC Hardware Architectures
    • Shared Memory System
    • Distributed Memory Systems
    • Hybrid Systems
    • Accelerators
  • Parallel Programming
    • Basics of Parallel Programming
    • Inter-node Parallel Programming (MPI)
    • Intra-node Parallel Programming (OpenMP)
    • Accelerator Programming (OpenMP5, OpenACC, CUDA, HIP)