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.

  • Education cycle

    Second cycle
  • Main field of study

    Mathematics
    Technology
  • Grading scale

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

Course offerings

Spring 19 for programme students

Spring 19 SAP for Study Abroad Programme (SAP)

  • Periods

    Spring 19 P3 (3.0 credits), P4 (4.5 credits)

  • Application code

    20057

  • Start date

    15/01/2019

  • End date

    04/06/2019

  • Language of instruction

    English

  • Campus

    KTH Campus

  • Tutoring time

    Daytime

  • Form of study

    Normal

  • Number of places

    No limitation

  • Schedule

    Schedule (new window)

  • Course responsible

    Michael Hanke <hanke@kth.se>

  • Teacher

    Michael Hanke <hanke@kth.se>

  • Target group

    Study Abroad Programme

Spring 19 Doktorand for single courses students

  • Periods

    Spring 19 P3 (3.0 credits), P4 (4.5 credits)

  • Application code

    20098

  • Start date

    15/01/2019

  • End date

    04/06/2019

  • Language of instruction

    English

  • Campus

    KTH Campus

  • Tutoring time

    Daytime

  • Form of study

    Normal

  • Number of places *

    Max. 1

    *) If there are more applicants than number of places selection will be made.

  • Course responsible

    Michael Hanke <hanke@kth.se>

  • Teacher

    Michael Hanke <hanke@kth.se>

  • Target group

    For doctoral students at KTH.

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 main content

  • 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;

Eligibility

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.

Literature

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

  • HEMA - Assignment, 4.5, grading scale: A, B, C, D, E, FX, F
  • PROA - Project, 3.0, grading scale: A, B, C, D, E, FX, F

Requirements for final grade

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

Offered by

SCI/Mathematics

Contact

Michael Hanke, hanke@kth.se

Examiner

Michael Hanke <hanke@kth.se>

Add-on studies

Please discuss with the course leader.

Version

Course syllabus valid from: Spring 2018.
Examination information valid from: Autumn 2014.