Slides / Weekly notes
|26.08.08||Course Presentation / Introduction|
|04.09.08||Chapter 2.3 / 2.4||pdf (by Karypis / pages 1-21)|
|04.09.08||PRAM example program|
|11.09.08||Communication Costs / Routing / Embedding||see slides from 04.09., Add-on:pdf|
|18.09.08||Parallel Algorithm Design||pdf (by Karypis)|
|25.09.08||Basic Communication Operations||pdf (by Karypis)|
|02.10.08||Analytical Modelling of Parallel Programs||pdf (by A.G.), Add-on:pdf|
|09.10.08||Programming Using the Message-Passing Paradigm||pdf (by Karypis), Add-on:pdf|
|07.11.08||Programming Shared Address Space Platforms||pdf (by Karypis)|
|12.11.08||Dense Matrix Algorithms||pdf (by Karypis)|
|19.11.08||Sorting||pdf (by Karypis)|
|26.11.08||Graph Algorithms||pdf (by AG) + pdf (by Karypis)|
|03.12.08||Discrete Optimization||pdf (by Karypis)|
|09.12.08||Dynamic Programming||pdf (by Karypis)|
|16.12.08||Fast Fourier Transformation|
|19.12.08||Chapter 4.7 and Exercise Discussion|
|04.09.08||Assignment 1||18.09.2008, 12pm|
|18.09.08||Assignment 2||01.10.2008, 12pm|
|02.10.08||Assignment 3||05.11.2008, 12pm|
|12.11.08||Assignment 4||25.11.2008, 12pm|
|26.11.08||Assignment 5||10.12.2008, 12pm|
|10.12.08||Assignment 6||pdf (updated 15.12.)||18.12.2008, 12pm|
Lectures / Meetings
Just write a short mail, and come by.
- Office: IMADA, Ø14-602b-2 map.
- Phone: 2322
- E-mail: daniel
Main course book:
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
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.
Due to the small number of students, the course is changed to a reading course.