Charles Explorer logo
🇬🇧

Programming in Parallel Environment

Class at Faculty of Mathematics and Physics |
NPRG042

Syllabus

- A theoretical introduction to parallel algorithms

- Lock-free algorithms and data structures

- Design patterns in parallel programming

- Parallelization in programing languages (C++, OpenMP, Threading Building Blocks)

- Distributed computing in clusters (MPI)

- Computing on coprocessors (OpenCL, Intel Xeon Phi)

Annotation

Multi-core processors yield the possibility making parallel computations on standard computers. Implementing an application using parallelisms is a nontrivial matter.

The goals of the course are an theoretical and practical introduction to contemporary software technologies used for parallel programming, practically debugging parallel programs, and practically tuning parallel program performance.