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 for research students about course offerings
The course is offered in the first period of the academic year (P1).
Content and learning outcomes
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
Course disposition
The course is organized into four modules:
- High-Performance Architectures
- Programming with OpenMP
- Programming with MPI
- Programming with CUDA
An assignment is associated with each module of the course.
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
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
Opportunity to raise an approved grade via renewed examination
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 web
Further information about the course can be found on the Course web at the link below. Information on the Course web will later be moved to this site.
Course web FDD3258