Methods in High Performance Computing

Log in to your course web

You are not logged in KTH, so we cannot customize the content.

DD2356 - Methods in High-Performance Computing

What is this Course About?

  • Making effective use of the most powerful parallel supercomputers for problems in science and engineering
  • Doing this requires paying attention to every part of the parallel system
  • It also requires a scientific and rigorous approach to performance

Course Goals

  • Understand the sources of performance in modern architectures
  • How to establish performance expectations
  • How to diagnose performance problems
  • How to design algorithms and applications to maximize performance potential
  • How to exploit parallelism at all levels

Intended Learning Outcomes

At the end of this course, you will be able to:

  • Describe and list HPC architecture design choices and features
  • Connect to the supercomputers, build and run codes on multicore systems and clusters
  • Use HPC tools to measure and analyze the performance of computer codes running on supercomputers
  • Design, implement and optimize a parallel engineering application for HPC systems using OpenMP and MPI

Prerequisites

  • Knowledge of Linux (Supercomputers have Linux OS)
  • Knowledge of C/C++ or Fortran - Assignments are in C/C++ though
  • Knowledge of command line editors (emacs, vi, ...)

Course Structure

  • Pre-recorded video lectures
  • Lab sessions on zooms
  • 3 Assignments with Bonus Exercises
  • Workshops
  • Final project

Teachers

Feedback News