Skip to main content

DN2264 Parallel Computations for Large-Scale Problems, Part 1 6.0 credits

Course offering missing for current semester as well as for previous and coming semesters
Headings with content from the Course syllabus DN2264 (Autumn 2009–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

Basic ideas including hardware architectures, memory hierarchies, communications, parallelization strategies, measures of efficiency;

Simple numerical algorithms including matrix operations, Gaussian elimination;

Algorithms on graphs including graph partitioning problems;

Parallel sorting;

More advanced parallel problems including the n-body problem;

Advanced numerical methods including multi-grid and FFT methods;

Standard libraries.

Intended learning outcomes

The overall goal of the course is to provide a basic understanding of how to develop algorithms and how to implement them in distributed memory computers using the message-passing paradigm.

This understanding means that after the course you are able to

  • explain parallelization strategies;
  • select and/or develop an algorithm for solving a given problem which has the potential for an efficient parallelization;
  • select and/or develop data structures for implementing parallel computations;
  • theoretically analyze a given parallel algorithm with respect to efficiency;
  • implement a given algorithm on a distributed-memory computer using the message passing library MPI;
  • understand the message flow and avoid unwanted situations (e.g. deadlock, synchronization delays);
  • modify and adapt a set of basic routines to special situations;
  • experimentally evaluate the performance of a parallel program;
  • explain differences between the theoretically expected performance and the practically observed performance.

Course disposition

No information inserted

Literature and preparations

Specific prerequisites

Single course students: 90 university credits including 45 university credits in Mathematics or Information Technology. English B, or equivalent.

Recommended prerequisites

Basic courses in numerical analysis equivalent to DN1212 or DN1240, computer science equivalent to DD1320 or DD1321, preferably in C, C++, Fortran. For those being comfortable with Java or Python a short introduction to C will be provided.


No information inserted


Barry Wilkinson, Michael Allen: Parallel Programming, 2nd ed., Pearson Education International 2005, ISBN 0-13-191865-6.
Peter S. Pacheco: A Users Guide to MPI, to buy at the students' office. Michael Hanke: Lecture Notes, to buy at the students' office.

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale

A, B, C, D, E, FX, F


  • HEM1 - Assignment, 3.0 credits, grading scale: P, F
  • LAB1 - Laboratory Work, 3.0 credits, grading scale: A, B, C, D, E, FX, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

In this course all the regulations of the code of honor at the School of Computer science and Communication apply, see:

Other requirements for final grade

Homework and a mid-term quiz (HEM1; 3 university credits)
Lab report (LAB1; 3 university credits)

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


Profile picture Michael Hanke

Ethical approach

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

Course web

Further information about the course can be found on the Course web at the link below. Information on the Course web will later be moved to this site.

Course web DN2264

Offered by


Main field of study

This course does not belong to any Main field of study.

Education cycle

Second cycle

Add-on studies

DN2265 Parallel Computations for Large-Scale Problems, part 2.


Michael Hanke, e-post:

Supplementary information

Please observe that the first lesson is compulsary to attend.