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
 
Syllabus adopted 2014-02-17 by Head of Programme (or corresponding)
Owner: MPENM
7,5 Credits
Grading: TH - Five, Four, Three, Not passed
Education cycle: Second-cycle
Major subject: Mathematics
Department: 11 - MATHEMATICAL SCIENCES


Teaching language: English
Open for exchange students

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

In programs

MPAPP APPLIED PHYSICS, MSC PROGR, Year 1 (elective)
MPENM ENGINEERING MATHEMATICS AND COMPUTATIONAL SCIENCE, MSC PROGR, Year 2 (elective)

Examiner:

Univ lektor  Thomas Ericsson



  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)


  • describe the basic features of a modern CPU
    and analyze how these affect the performance of a code

  • optimize code written in Fortran or C

  • optimize Matlab code

  • use basic Linux tools such as make, gprof and ld

  • mix Fortran, C and Matlab (mixed language programming)

  • write simple parallel programs using MPI and OpenMP

Content


  • Linux-tools.

  • Computer architecture. A look at the design of a modern CPU.

  • Code optimization for one CPU. Profiling tools, choice of programming language.

  • Parallel programming using threads, OpenMP and MPI.

  • High performance numerical libraries.

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. In some cases existing codes should be optimized and in other exercises small parallel programs should be written. The programs should be written in C, Fortran and Matlab. Please see the course homepage for more information.

Literature

Lecture notes, manuals and articles.

Examination

Compulsory computer assignments. Take-home exam.


Page manager Published: Thu 04 Feb 2021.