Breadcrumb

High Performance Parallel Programming

Course
DIT431
Master’s level
7.5 credits (ECTS)
Study pace
50%
Time
Day
Location
Göteborg
Study form
Campus
Language
English
Duration
-
Application open
-
Application code
GU-18668
Tuition
Full education cost: 19 250 SEK
First payment: 19 250 SEK

No fees are charged for EU and EEA citizens, Swedish residence permit holders and exchange students.

More information about tuition fees

Application closed, late application opens 15 July 2024.

About

This course looks at parallel programming models, efficient programming methodologies and performance tools with the objective of developing highly efficient parallel programs.
The course consists of a set of lectures and laboratory sessions.
The lectures start with an overview of parallel computer architectures and parallel programming models and paradigms. An important part of the discussion are mechanisms for synchronization and data exchange. Next, performance analysis of parallel programs is covered.
The course proceeds with a discussion of tools and techniques for developing parallel programs in shared address spaces. This section covers popular programming environments such as pthreads and OpenMP.
Next the course discusses the development of parallel programs for distributed address space. The focus in this part is on the Message Passing Interface (MPI). Finally, we discuss programming approaches for executing applications on accelerators such as GPUs. This part introduces the CUDA (Compute Unified Device Architecture) programming environment.
The lectures are complemented with a set of laboratory sessions in which participants explore the topics introduced in the lectures. During the lab sessions, participants parallelize sample programs over a variety of parallel architectures, and use performance analysis tools to detect and remove bottlenecks in the parallel implementations of the programs.

Prerequisites and selection

Requirements

To be eligible for the course, students should have successfully completed courses corresponding to 105 credits within the subject of Computer Science, Mathematics, Software Engineering, or equivalent. Including a 7.5 credits course in machine-oriented programming (e.g., DIT151 Machine Oriented Programming, or equivalent). Applicants must prove knowledge of English: English 6/English B or the equivalent level of an internationally recognized test, for example TOEFL, IELTS.

Selection

Selection is based upon the number of credits from previous university studies, maximum 165 credits.