Charles Explorer logo
🇬🇧

High Performance Computing in Physics

Class at Faculty of Mathematics and Physics |
NFPL006

Syllabus

Introduction to computational complexity theory

Program optimizations:

- Performance measurement, profiling

- Cycle optimization

- Memory distribution optimization

- Sparse and other special matrices

- Linear algebra packages: LAPACK, BLAS

- Utilization of architecture-specific features (e.g. SSE instructions, cache size)

- Parallelization (shared / distributed memory)

- Specific features of selected programming language (mainly Fortran 95/2003, C/C++, Matlab)

- Compiler options

Job execution:

- Distributed job / resource management systems, introduction to Sun Grid Engine

- Overview of available computational resources (clusters) in Czech Republic

Applications:

- Selection of real physical problems aimed to test and strengthen acquired knowledge

- The possibility to include problems proposed by students

- Illustration of a task solved in practice: electronic structure calculation

Annotation

High Performance Computing in Physics. General rules, basic methods for programming computationally intensive problems (optimization, parallelization), execution of jobs at computational clusters and other practical aspects. Recommended for master students or post-graduate students. Precondition is to have passed either

Numerical Methods of Computer Physics, Introduction to Programming in Matlab or a similar subject, basic handling of Unix/Linux systems.