DM818: Parallel Computing (10 ECTS)

STADS: 15006101

Level
Master's level course

Teaching period
The course is offered in the autumn semester.
Offered according to needs.

Teacher responsible
No responsible teachers found, contact the department if necessary

Timetable
There is no timetable available for the chosen semester.

Prerequisites:
None

Academic preconditions:
The contents of DM507 Algorithms and Data Structures must be known.

Course introduction
The goal of this course is to introduce the students to the aspects of parallel computing: architecture, programming paradigms, algorithms, and standards. Both traditional computer science algorithms (e.g. sorting, searching, and dynamic programming algorithms) as well as algorithms for scientific computing (e.g. matrix computations) will be covered. Students learn how to apply the most widely used standards for writing parallel programs (MPI, Pthreads, and OpenMP) and to thoroughly quantify the performance of parallel programs by means of metrics for scalability.

Expected learning outcome
At the end of the course the student is expected to be able to:

  • Explain the techniques and algorithms from the curriculum in clear and precise language.
  • Analyze the parallel systems covered in the curriculum with respect to performance and scalability.
  • Apply parallel programming techniques by implementing the techniques and algorithms from the curriculum in example programs.
  • Undertake empirical studies for the parallel implementations and draw sound conclusions.
Subject overview
Parallel programming platforms, principles of parallel algorithm design, basic communication operations, analytical modeling of parallel programs, programming using the message passing paradigm, programming shared address space platforms, dense matrix algorithms, sorting, graph algorithms, search algorithms for discrete optimization problems, dynamic programming, fast fourier transformation.

Literature
There isn't any litterature for the course at the moment.

Website
This course uses e-learn (blackboard).

Prerequisites for participating in the exam
None

Assessment and marking:
(a) A number of programming assignments, internal evaluation by teacher, pass/fail. It is required that these projects are approved in order to take the examination.
(b) Oral exam, 30 minutes. No preparation time. External examiner. Marks according to the 7-point grading scale.

 

Expected working hours
The teaching method is based on three phase model.

Forelæsninger: 42 timer
Eksaminatorietimer: 42 timer
Projektarbejde.
Educational activities

Language
This course is taught in Danish or English, depending on the lecturer. However, if international students participate, the teaching language will always be English.

Course enrollment
See deadline of enrolment.

Tuition fees for single courses
See fees for single courses.