Skip to main content
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. 

Information per course offering

Termin

Information for Autumn 2024 Start 19 Aug 2024 programme students

Course location

KTH Campus

Duration
19 Aug 2024 - 23 Aug 2024
Periods
Pace of study

100%

Application code

40016

Form of study

Normal Daytime

Language of instruction

English

Course memo
Course memo is not published
Number of places

Places are not limited

Target group
No information inserted
Planned modular schedule
[object Object]
Schedule
Schedule is not published
Part of programme
No information inserted

Contact

Examiner
No information inserted
Course coordinator
No information inserted
Teachers
No information inserted
Contact

Stefano Markidis (markidis@kth.se)

Course syllabus as PDF

Please note: all information from the Course syllabus is available on this page in an accessible format.

Course syllabus FDD3260 (Spring 2023–)
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.

Equipment

Access to the PDC supercomputers will be provided to students.

Literature

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

Examination

  • 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

Examiner

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

Contact

Stefano Markidis (markidis@kth.se)

Postgraduate course

Postgraduate courses at EECS/Computational Science and Technology