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 2010-02-26 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
Block schedule: X

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

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:

For single subject courses within Chalmers programmes the same eligibility requirements apply, as to the programme(s) that the course is part of.

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 amd 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 unix tools such as make, gprof and ld

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

  • write simple parallel programs using MPI and OpenMP

Content


  • A short introduction to Fortran and C (what is necessary for the labs). Unix-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, programming style etc. One should optimize a given code. In some exercises small parallel programs should be written. The programs should be written in C, Fortran (some Java) and Matlab. Please see the course homepage for more information.

Literature

Lecture notes, manuals and articles.

Examination

Compulsory computer assignments. A written or oral examination and possibly a short presentation.


Page manager Published: Thu 04 Feb 2021.