Search programme

​Use the search function to search amongst programmes at Chalmers. The programme overview and the programme syllabus relating to your studies are generally from the academic year you began your studies.

​​​

Syllabus for

Academic year
TMA881 - High performance computing
 
Owner: TM
5,0 Credits (ECTS 7,5)
Grading: TH - Five, Four, Three, Not passed
Level: C
Department: 11 - MATHEMATICAL SCIENCES


Teaching language: English

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

In programs

CEMAS MSc PROGRAMME IN COMPUTATIONAL AND EXPERIMENTAL TURBULENCE, Year 1 (elective)
EMMAS MSc PROGR IN ENGINEERING MATHEMATICS, Year 1 (elective)
TITEA SOFTWARE ENGINEERING, Year 4 (elective)
TM Teknisk matematik, Year 2 (elective)
TDATA COMPUTER SCIENCE AND ENGINEERING - Algorithms, Year 4 (elective)
TDATA COMPUTER SCIENCE AND ENGINEERING, Year 3 (elective)

Examiner:

Univ lektor  Thomas Ericsson



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

Larger and more complex mathematical models require greater
computational performance. In order to meet these demands
it is necessary to master the techniques of code optimization
and parallel programming.

This course aims to give an overview of modern computer architecture
and how this knowledge together with compilers and profiling tools
can be used to optimize the performance of a code.
Another aim is to present basic ideas of and tools for parallel
programming.

Goal

At the conclusion of the course, the participant should know
the basics of code optimization and parallel programming.

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 etc.
  • 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 03 Nov 2022.