SF2568 Parallel Computations for Large- Scale Problems 7.5 credits

Parallella beräkningar för storskaliga problem

Advance course for giving a basic understanding of how to develop numerical algorithms and how these can be implemented on computers with distributed memory by using the message passing paradigm.

Show course information based on the chosen semester and course offering:

Offering and execution

No offering selected

Select the semester and course offering above to get information from the correct course syllabus and course offering.

Course information

Content and learning outcomes

Course contents *

  • Basic ideas including hardware architectures, memory hierarchies, communications,
    parallelization strategies, measures of efficiency;
  • HPC and Green Computing;
  • Introduction to MPI, the Message Passing Interface;
  • Simple numerical algorithms including matrix operations, Gaussian elimination;
  • Algorithms on graphs including graph partitioning problems;
  • Parallel sorting;
  • More advanced parallel algorithms;
  • 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;
  • find properties of a given problem which may be used for potential parallelization;
  • 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;
  • independently solve a more complex problem and present your results in a report;
  • are able to run programs on high-performance computers;
  • understand challenges of Green Computing in HPC.

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, 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.d.


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, downloadable from internet.
Michael Hanke: Lecture Notes.

Examination and completion

Grading scale *

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

Examination *

  • HEMA - Assignment, 4.5 credits, Grading scale: A, B, C, D, E, FX, F
  • PROA - Project, 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.

Other requirements for final grade *

  • Homework and a mid-term quiz (HEMA; 4,5 credits)
  • Project report and oral presentation (PROA; 3.0 credits)

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


Michael Hanke

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 SF2568

Offered by


Main field of study *

Mathematics, Technology

Education cycle *

Second cycle

Add-on studies

Please discuss with the course leader.


Michael Hanke, hanke@kth.se

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.