Methods in High Performance Computing
Log in to your course web
You are not logged in KTH, so we cannot customize the content.
Starting June 1, 2025, it will no longer be possible to edit content on the course web, and students will no longer be added. Existing material will remain.
Read more here: The course web's sunset on June 1
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
- In-person lectures
- Assignments
- Quizzes
- Final project