Bachelor Computer Science, Proficiency in C/C++.
The main objective is to obtain an understanding of the various trade-offs when implementing parallel programs on High Performance Computer architectures. These trade-offs include among others: exploitation of data locality versus distribution of data over different memory modules, shared memory implementation versus distributed memory implementation, fine grain versus course grain parallel decomposition, communication overhead versus parallel efficiency.The course consists out of 4 parts: Introduction to Parallel Programming and Parallel Architectures, Parallel Algorithms (Principles of Parallel Algorithm Design, Numerical Algorithms, Graph Algorithms, and Sorting Algorithms), Existing Parallel Programming Paradigms, and New Parallel Programming Paradigms.
To obtain the necessary skills for programming High Performance Computers, including performance trade-offs and the efficient exploitation of the architectural characteristics of these High Performance Computers.
- You have to sign up for classes and examinations (including resits) in uSis. Check this link for more information and class numbers.
Mode of instruction
- Open book exam
- Programming assignments in C/C++ and MPI.
- You have to sign up for courses and exams (including retakes) in uSis. Check this link for information about how to register for courses.