Syllabus for |
|
TMA881 - High performance computing
|
|
Syllabus adopted 2017-10-16 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
|
The course round is cancelled. For further questions, please contact the director of studies MPENM: ENGINEERING MATHEMATICS AND COMPUTATIONAL SCIENCE, MSC PROGR, contact information can be found here
Teaching language: English
Open for exchange students
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
MPAPP APPLIED PHYSICS, MSC PROGR, Year 1 (elective)
MPCAS COMPLEX ADAPTIVE SYSTEMS, MSC PROGR, Year 1 (compulsory elective)
MPCAS COMPLEX ADAPTIVE SYSTEMS, MSC PROGR, Year 2 (elective)
MPENM ENGINEERING MATHEMATICS AND COMPUTATIONAL SCIENCE, MSC PROGR, Year 2 (elective)
MPENM ENGINEERING MATHEMATICS AND COMPUTATIONAL SCIENCE, MSC PROGR, Year 1 (compulsory elective)
Examiner:
Docent
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)
- 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.