Low-Level Parallel Programming
5 credits
Syllabus, Master's level, 1DL550
A revised version of the syllabus is available.
- Code
- 1DL550
- Education cycle
- Second cycle
- Main field(s) of study and in-depth level
- Computer Science A1N
- Grading system
- Fail (U), Pass (3), Pass with credit (4), Pass with distinction (5)
- Finalised by
- The Faculty Board of Science and Technology, 13 March 2014
- Responsible department
- Department of Information Technology
Entry requirements
120 credits including 60 credits in computer science, including a second course in computer programming and programming in C.
Learning outcomes
To pass the course, the student should be able to
- explain key issues of parallel programming, including data distribution, load balancing, locking and synchronisation
- construct parallel 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
Content
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.
Instruction
Lectures and seminars. Mandatory lectures may occur.
Assessment
Active participation in seminars. Oral and written assessment of assignments and project.
Reading list
No reading list found.