Skip to main content
Till KTH:s startsida Till KTH:s startsida

FDD3260 High-performance Computing for Computational Scientists 5.0 credits

This course offers computational scientists from diverse disciplines a comprehensive knowledge base and toolbox for programming and optimizing scientific applications on supercomputers that employ heterogeneous computing units, such as multi-core processors, Nvidia GPUs, and AMD GPUs. The lectures are delivered by internationally recognized experts in the field of HPC. 
The course provides various topics, including HPC computer architectures, programming models for shared-memory (OpenMP) and distributed-memory (MPI) programming, and an in-depth exploration of Nvidia and AMD GPUs. Students will also learn HPC software engineering, performance monitoring tools, high-performance data analysis and visualization, and sustainability aspects of HPC. 
Furthermore, students will have access to PDC systems, and programming practice will be conducted on PDC HPC supercomputers. 

Choose semester and course offering

Choose semester and course offering to see current information and more about the course, such as course syllabus, study period, and application information.


For course offering

Autumn 2024 Start 19 Aug 2024 programme students

Application code


Headings with content from the Course syllabus FDD3260 (Spring 2023–) are denoted with an asterisk ( )

Content and learning outcomes

Course disposition

The course includes a series of lectures from internationally renowned speakers, hands-on sessions on programming supercomputers and analyzing their performance, and in-class exercises.

Course contents

 The course focuses on six topics:

 1 - computer architecture: multi-core processor, memory, and high-performance network;

 2 - programming models: shared-memory and distributed-memory programming;

 3 - applied GPU programming: Nvidia GPU and AMD GPU; 

 4 - performance profiling and analysis with tools;

 5 -  high-performance data analysis and visualization; 

 6 -  sustainability in computing.

Intended learning outcomes

By the end of this course, students will be able to:

  • Describe the architecture of modern supercomputers and the different computing units, including multi-core processors, Nvidia GPUs, and AMD GPUs.
  • List the sustainability aspects of HPC and its impact on the environment and society.
  • Use programming models for shared-memory (OpenMP) and distributed-memory (MPI) programming to develop scientific applications for supercomputers.
  • List the fundamental principles of programming Nvidia and AMD GPUs and develop efficient GPU-accelerated applications.
  • Apply software engineering principles to develop scientific applications for supercomputers.
  • Use performance monitoring tools to identify performance bottlenecks and optimize supercomputer application performance.
  • Apply high-performance data analysis and visualization techniques to scientific applications.
  • Practice programming on the PDC HPC supercomputers and apply the learned concepts to real-world problems.

Literature and preparations

Specific prerequisites

Basic knowledge of Linux commands, C/C++ or Fortran languages is required.

Recommended prerequisites

 Basic knowledge of Linux commands, C/C++, or Fortran languages is required.


Access to the PDC supercomputers will be provided to students.


Lecture slides, tutorials, and additional material will be provided during the course.

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale

P, F


  • EXA1 - Examination, 5.0 credits, grading scale: P, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

EXA1 - Examination, 5.0 credits, grading scale: P, F

The final five credits are awarded for completing in-class exercises and a final test covering the material presented in the course.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


Ethical approach

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

Course room in Canvas

Registered students find further information about the implementation of the course in the course room in Canvas. A link to the course room can be found under the tab Studies in the Personal menu at the start of the course.

Offered by

Main field of study

This course does not belong to any Main field of study.

Education cycle

Third cycle

Add-on studies

No information inserted


Stefano Markidis (

Postgraduate course

Postgraduate courses at EECS/Computational Science and Technology