Skip to main content
Till KTH:s startsida

FDD3256 Methods in High-Performance Computing 7.5 credits

The course aims to provide basic knowledge of theory and hardware and software methods for parallel calculations, especially issues within hardware and software and the interaction between them. Particular focus will be placed on programming multi-core processors and cluster architectures.

Information per course offering

Termin

Information for Spring 2025 Start 17 Mar 2025 programme students

Course location

KTH Campus

Duration
17 Mar 2025 - 2 Jun 2025
Periods
P4 (7.5 hp)
Pace of study

50%

Application code

61298

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

Course syllabus as PDF

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

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

Content and learning outcomes

Course disposition

 A series of lectures and exercises on:

  • Parallel computer architecture and parallel software.
  • Programming of multi-core systems with OpenMP.
  • Programming of cluster systems with MPI.

Course contents

The course focuses on three fields:

  • Parallel computer architecture and parallel software. This includes the presentation of processor and memory systems of parallel computers. Furthermore, different types of parallelism (on instruction level, on computational task level and data parallelism) as well as performance models for parallel systems is described
  • Programming of multicore systems with OpenMP. Introduction to basic as well as more advanced concepts of OpenMP
  • Programming of cluster systems with MPI. Presentation of MPI and approaches for the parallelisation of programs

In addition, power consumption, carbon footprint, and environmental impact of HPC devices and supercomputers are discussed in a lecture.

Intended learning outcomes

After passing the course, the student should be able to:

  • Account for properties of different parallel architectures
  • Discuss the efficiency of multicore systems and cluster systems
  • Assess the potential for and limitations of parallel computations as well as improve scalability and efficiency of parallel computations
  • Choose between different techniques for parallelization, depending on the application and the current parallel system
  • Write parallel programs for multicore processors and cluster systems with OpenMP and MPI
  • List the power consumption, carbon footprint, and environmental impact of HPC devices and supercomputers

Literature and preparations

Specific prerequisites

Programming experience in C/C++ and/or Fortran is necessary.

Recommended prerequisites

Programming experience in C/C++ and/or Fortran is necessary.

Literature

You can find information about course literature either in the course memo for the course offering or in the course room in Canvas.

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.

To pass the course, the student must complete three assignments and an advanced final project (report and oral presentation) related to the Ph.D. research.

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

Postgraduate course

Postgraduate courses at EECS/Computational Science and Technology