Skip to main content
Till KTH:s startsida

FDD3258 Introduction to High Performance Computing 7.5 credits

This course provides the skills needed to utilize high-performance computing (HPC) resources, and includes an introduction to a range of important topics, such as: - Modern HPC architectures - Shared memory programming with OpenMP - Distributed memory programming with MPI - GPU Programming with CUDA

Information per course offering

Termin

Information for Spring 2025 Start 14 Jan 2025 programme students

Course location

KTH Campus

Duration
14 Jan 2025 - 16 Mar 2025
Periods
P3 (7.5 hp)
Pace of study

50%

Application code

60761

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

Bo Peng (bopeng@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 FDD3258 (Spring 2020–)
Headings with content from the Course syllabus FDD3258 (Spring 2020–) are denoted with an asterisk ( )

Content and learning outcomes

Course disposition

The course is organized into four modules:

  1. High-Performance Architectures
  2. Programming with OpenMP
  3. Programming with MPI
  4. Programming with CUDA

An assignment is associated with each module of the course.

Course contents

This course provides the skills needed to utilize high-performance computing (HPC) resources, and includes an introduction to a range of important topics, such as:

  • Modern HPC architectures
  • Shared memory programming with OpenMP
  • Distributed memory programming with MPI
  • GPU Programming with CUDA

Intended learning outcomes

At the end of this course, the student will be able to:

  • describe high-performance architectures including GPUs
  • design and implement code with OpenMP to use efficiently shared memory systems
  • design and implement code with MPI to use efficiently supercomputers
  • design and implement code with CUDA to use efficiently systems with GPUs
  • analyze the performance and efficiency of different programming approaches

Literature and preparations

Specific prerequisites

The course is suitable for third-cycle students who are interested in high-performance computing.

Recommended prerequisites

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

Equipment

Access to KTH PDC supercomputers will be provided.

Literature

Lectures slides 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, 7.5 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.

Four assignments must be passed in order to pass the course.

Other requirements for final grade

Four assignments must be passed in order to pass 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

Bo Peng (bopeng@kth.se)

Postgraduate course

Postgraduate courses at EECS/Computational Science and Technology