Till KTH:s startsida Till KTH:s startsida

Introduction to High Performance Computing

Log in to your course web

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

DD2358 - Introduction to High-Performance Computing

Course Goals 

This is the first course of the HPC sub-track in the computer science program. The goal of this course is to introduce you to the methodologies, approaches, and tools that are necessary for professionals in HPC and software development for Scientific Computing. 

The Python language will be used to design and implement fast and efficient codes. We learn about profiling tools to determine the bottlenecks in the code, using efficient data structures, interfacing Python with C/C++ and Fortran, and using parallel computing

Intended Learning Outcomes

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

  • Develop and program scientific application using Python 
  • Use efficiently software engineering tools and libraries for the development and optimization of scientific applications
  • Develop and optimize a scientific application from scratch following the best practices and more convenient HPC tools

Course Organization

The course is organized into four main modules:

  1. Fundamentals of Computers Systems & Profiling Codes
  2. Data Structures and Methods for HPC
  3. Using Compilation Techniques for Optimization
  4. Parallel computing with Python


Basic knowledge of the Python programming language

Course Activities

  • Pre-recorded lectures
  • Zoom lectures
  • Zoom tutorial/lab session
  • 4 Assignment Exercises with bonus exercises
  • Final project