Skip to main content
Till KTH:s startsida 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.

Course offerings are missing for current or upcoming semesters.
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.

Equipment

 Access to the PDC supercomputer

Literature

The recommended textbook is "High performance computing: modern systems and practices." by T. Sterling, M. Brodowicz, and M. Anderson. The book is available online in KTH's electronic library.

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.

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