Syllabus for |
|
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
|
|
|
|
|
Contact examiner, |
Contact examiner |
In programs
TM Teknisk matematik, Year 2 (elective)
EMMAS MSc PROGR IN ENGINEERING MATHEMATICS, Year 1 (elective)
TDATA COMPUTER SCIENCE AND ENGINEERING - Algorithms, Year 4 (elective)
CEMAS MSc PROGRAMME IN COMPUTATIONAL AND EXPERIMENTAL TURBULENCE, Year 1 (elective)
TITEA SOFTWARE ENGINEERING, Year 4 (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.