Admission requirements
Recommended prior knowledge
Proficiency in C/C++, Computer Architectures and Compiler Construction.
Description
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 High Performance Architectures, Parallel Algorithms (Principles of Parallel Algorithm Design, Numerical Algorithms, Graph Algorithms, and Sorting Algorithms) and Existing High Performance Computing Paradigms.
Course objectives
To obtain the necessary skills for implementing efficient applications on High Performance Computers, including performance trade-offs and the efficient exploitation of the architectural characteristics of these High Performance Computers.
Timetable
The most recent timetable can be found on the students' website.
Mode of instruction
- Lectures
Total hours of study: 168 hrs. (= 6 EC)
Lectures: 26:00 hrs.
Practical work: 70:00 hrs.
Self-study: 72 hrs.
Assessment method
Open book exam
Programming assignments in C/C++ and MPI
The teacher will inform the students how the inspection of and follow-up discussion of the exams will take place.
Reading list
Not applicable.
Registration
- You have to sign up for courses and exams (including retakes) in uSis. Check this link for information about how to register for courses.
Contact
Lecturer: prof.dr. Harry Wijshoff
See also: Course website