Skip to main content
Skip header

Programming of HPC Systems

Type of study Follow-up Master
Language of instruction English
Code 9600-1032/02
Abbreviation PHPC
Course title Programming of HPC Systems
Credits 4
Coordinating department IT4Innovations
Course coordinator Ing. Ondřej Meca, Ph.D.

Subject syllabus

1. Introduction to programming application for distributed memory systems with message passing
2. Efficient data exchange between pair of processes
3. Efficient communication among all process
4. Creation of sub-groups and sub-communicators
5. Exchanging non-contiguous data
6. Parallel reading and writing files
7. Base principles of one-side communication
8. Hybrid parallelization and efficient mapping of processes on HPC clusters
9. Best practices for efficient parallelization and programming scalable applications
10. Profiling and debugging of distributed applications
11. Other programming model for distribution memory systems

Literature

1. Michael McCool (Author), James Reinders (Author), Arch Robison (Author), Structured Parallel Programming: Patterns for Efficient Computation Paperback – June 25, 2012
2. http://mpi-forum.org, MPI: A Message-Passing Interface Standard
3. http://openmp.org, OpenMP Application Program Interface

Advised literature

1. http://software.intel.com, Optimization and Performance Tuning for Intel® Xeon Phi™ Coprocessors - Part 1: Optimization Essentials
2. Intel® 64 and IA-32 Architectures Optimization Reference Manual
3. High Performance Parallelism Pearls: Multicore and Many-core Programming Approaches Paperback – November 17, 2014 by James Reinders (Author), James Jeffers (Author)