Course syllabus for High performance computing

Course syllabus adopted 2023-02-09 by Head of Programme (or corresponding).

Overview

  • Swedish nameHögprestandaberäkning
  • CodeTMA881
  • Credits7.5 Credits
  • OwnerMPENM
  • Education cycleSecond-cycle
  • Main field of studyMathematics
  • DepartmentMATHEMATICAL SCIENCES
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language English
  • Application code 20127
  • Maximum participants150 (at least 10% of the seats are reserved for exchange students)
  • Open for exchange studentsYes

Credit distribution

0101 Examination 7.5 c
Grading: TH
7.5 c
  • Contact examiner

In programmes

Examiner

Go to coursepage (Opens in new tab)

Eligibility

General entry requirements for Master's level (second cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

English 6 (or by other approved means with the equivalent proficiency level)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

Basic courses in mathematics, numerical analysis, programming and data structures. Basic Matlab programming.

Aim

One aim of the course is to provide an insight into computer architecture and the effect it has on the performance of computer programs. The course also aims to provide the student with tools and techniques for code optimization and for parallel programming.

Learning outcomes (after completion of the course the student should be able to)

After completing the course the student will be able to
  • organize programming work on a remote computer using Linux command line tools
  • write simple parallel programs using MPI, OpenMP, or OpenCL
  • describe the basic features of CPUs, GPUs, FPGAs, and hardware accelerators
  • assess the influence of hardware and software on runtime performance. 
  • Show awareness and competence required to contribute to equality, equal treatment and diversity in society (EED). 

Content

  • Short introduction to C to the extent that is necessary for the computer labs.
  • Linux command line tools.
  • Parallel programming using threads, OpenMP, MPI, and OpenCL.
  • Hardware architecture.
  • Code optimization and compiler flags.
  • Overview of libraries in numerical analysis.
  • Lectures and an assignment about equality, equal treatment and diversity (EED).

Organisation

Lectures and computer assignments. The assignments, which make up a substantial part of the course, consist of several short exercises which illustrate how performance is affected by the choice of computer architecture, programming language, data structures etc. The programs should be written in C. Please see the course homepage for more information.

Literature

Lecture notes, manuals and articles.

Examination including compulsory elements

The examination consists of computer based assignments, a short presentation, a take-home exam and an assignment about EED.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.