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
- In-person lectures
- Assignments
- Quizzes
- Final project