Search course

Use the search function to find more information about the study programmes and courses available at Chalmers. When there is a course homepage, a house symbol is shown that leads to this page.

Graduate courses

Departments' graduate courses for PhD-students.

​​​​
​​

Syllabus for

Academic year
TMA881 - High performance computing
Högprestandaberäkning
 
Syllabus adopted 2018-02-06 by Head of Programme (or corresponding)
Owner: MPENM
7,5 Credits
Grading: TH - Five, Four, Three, Fail
Education cycle: Second-cycle
Major subject: Mathematics
Department: 11 - MATHEMATICAL SCIENCES


Teaching language: English
Open for exchange students: Yes

Course module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0101 Examination 7,5 c Grading: TH   7,5 c    

In programs

MPENM ENGINEERING MATHEMATICS AND COMPUTATIONAL SCIENCE, MSC PROGR, Year 2 (elective)
MPENM ENGINEERING MATHEMATICS AND COMPUTATIONAL SCIENCE, MSC PROGR, Year 1 (compulsory)
MPCAS COMPLEX ADAPTIVE SYSTEMS, MSC PROGR, Year 2 (elective)
MPCAS COMPLEX ADAPTIVE SYSTEMS, MSC PROGR, Year 1 (compulsory elective)
MPAPP APPLIED PHYSICS, MSC PROGR, Year 2 (elective)

Examiner:

Martin Raum


  Go to Course Homepage

Eligibility:


In order to be eligible for a second cycle course the applicant needs to fulfil the general and specific entry requirements of the programme that owns the course. (If the second cycle course is owned by a first cycle programme, second cycle entry requirements apply.)
Exemption from the eligibility requirement: Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling these requirements.

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.

Content

  • Short introduction to C and Python 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.

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 and Python. 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 and a take-home exam.


Page manager Published: Thu 04 Feb 2021.