(Logo)   IMADA
University of Southern Denmark IMADA - Department of Mathematics and Computer Science
Parallel Computing

Parallel Computing

DM8XX, Fall 2008

Daniel Merkle

Slides / Weekly notes

26.08.08Course Presentation / Introduction pdf pdf
04.09.08Chapter 2.3 / 2.4 pdf (by Karypis / pages 1-21) pdf
04.09.08PRAM example program pdf
11.09.08Communication Costs / Routing / Embedding see slides from 04.09., Add-on:pdf pdf
18.09.08Parallel Algorithm Design pdf (by Karypis) pdf
25.09.08Basic Communication Operations pdf (by Karypis) pdf
02.10.08Analytical Modelling of Parallel Programs pdf (by A.G.), Add-on:pdf pdf
09.10.08Programming Using the Message-Passing Paradigm pdf (by Karypis), Add-on:pdf pdf
07.11.08Programming Shared Address Space Platforms pdf (by Karypis) pdf
12.11.08Dense Matrix Algorithms pdf (by Karypis) pdf
19.11.08Sorting pdf (by Karypis) pdf
26.11.08Graph Algorithms pdf (by AG) + pdf (by Karypis) pdf
03.12.08Discrete Optimization pdf (by Karypis) pdf
09.12.08Dynamic Programming pdf (by Karypis) pdf
16.12.08Fast Fourier Transformation
19.12.08Chapter 4.7 and Exercise Discussion


Date PdfDue
04.09.08Assignment 1 pdf 18.09.2008, 12pm
18.09.08Assignment 2 pdf 01.10.2008, 12pm
02.10.08Assignment 3 pdf 05.11.2008, 12pm
12.11.08Assignment 4 pdf 25.11.2008, 12pm
26.11.08Assignment 5 pdf 10.12.2008, 12pm
10.12.08Assignment 6 pdf (updated 15.12.) 18.12.2008, 12pm

Course Schedule

Lectures / Meetings

Thursday: 12:15-13:45 (IMADA's seminar room).
if necessary Tuesday: 8:15-9:45 (IMADA's seminar room).

Office Hours

Just write a short mail, and come by.

  • Office: IMADA, 14-602b-2 map.
  • Phone: 2322
  • E-mail: daniel


Main course book:

[1] Grama, A; A. Gupta; G. Karypis; V. Kumar: Introduction to Parallel Computing. Pearson, 2003. Errata by John Kirk


Course Description


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


The goal of this course 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 scientific computing algorithms (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.


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 transform

Teaching period:

Fall 2008

Aim description:

When the course is completed the students are 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.


(a) Project assignments. Pass/fail, internal evaluation by teacher. The assignments must be passed in order to take the oral exam.
(b) Oral exam at the end of the course. Danish 7 mark scale, external examiner.

Reexamination according to the rules decided by the Study Board. Oral exam. Danish 7 mark scale, external examiner.

Course type:

Due to the small number of students, the course is changed to a reading course.

Design by 1234.info | Modified by Daniel Merkle | CSS 2.0