explain key issues of parallel programming, including data distribution, load balancing, locking and synchronisation
construct parallell algorithms, i.e., identify parallelism in a given algorithm, implement this parallelism, and identify factors that limit the parallelism in a program or algorithm
compare several parallel programming frameworks in terms of performance and efficiency of development
use several high-performance parallel programming frameworks and choose an appropriate framework under given circumstances such as computer architecture, application and efficiency
Introduction to parallel programming and hardware. Key issues such as data distribution, load balancing, locking and synchronisation. Parallel and concurrent algorithms, factors that limit parallelism. Different parallel programming frameworks, and their pros and cons, are introduced and compared.
Lectures and seminars. Mandatory lectures may occur.
Active participation in seminars. Oral and written assessment of assignments and project.
The reading list is missing. For further information, please contact the responsible department.