Programming of Parallel Computers

10 credits

Syllabus, Master's level, 1TD480

Code
1TD480
Education cycle
Second cycle
Main field(s) of study and in-depth level
Computational Science A1N, Computer Science A1N, Technology A1N
Grading system
Fail (U), Pass (3), Pass with credit (4), Pass with distinction (5)
Finalised by
The Faculty Board of Science and Technology, 30 August 2018
Responsible department
Department of Information Technology

Entry requirements

120 credits where 30 credits mathematics, Computer Programming II and Scientific Computing I or the equivalent is covered. Proficiency in English equivalent to the Swedish upper secondary course English 6.

Learning outcomes

On completion of the course, the student should be able to:

  • describe different types of parallel computers;
  • program different types of parallel computers, from multicore laptops to large scale PC clusters, i.e. handle different programming models
  • construct parallel algorithms, i.e. identify parallelism in a given algorithm as well as implement that particular parallelism
  • identify factors that put constraints on the parallelism in a given program or algorithms
  • choose the appropriate parallel programming model factoring in conditions as computer architecture, application and efficiency

Content

The course focus on different types of parallel computers, from multicore laptops to large scale PC clusters. Classification of parallel computers. Different forms of memory organisation, processors, networks, program control. Different forms of parallelism. Programming models: Programming in a local name space with MPI and in a global name space with OpenMP and Pthreads (Posix-threads). Overview of other programming models and implementations, such as UPC (Unified Parallel C) and MATLAB Parallel Toolbox. Graphics card programming. Performance measurements: speedup, efficiency, flops. Parallelisation of basic algorithms in numerical linear algebra and sorting: matrix-vector multiplication, matrix-matrix multiplication and Quick sort. Parallelisation of algorithms in one of the areas solution of systems of linear equations, partial differential equations, molecular dynamics (N-body simulation) or graph algorithms.

Instruction

Lectures, laboratory work and compulsory assignments. Project. Guest lecture.

Assessment

Written examination at the end of the course, approved compulsory assignments and project.

If there are special reasons for doing so, an examiner may make an exception from the method of assessment indicated and allow a student to be assessed by another method. An example of special reasons might be a certificate regarding special pedagogical support from the disability coordinator of the university.

FOLLOW UPPSALA UNIVERSITY ON

facebook
instagram
twitter
youtube
linkedin