Poslední úprava: doc. RNDr. Václav Kučera, Ph.D. (12.05.2019)
Kurz se zaměřuje na programování paralelních počítačů na řešení náročných problémů ve vědě a technice, kde jsou k provádění složitých simulací nebo k analýze obrovských souborů dat nutné velmi rychlé počítače.
Studenti se seznámí s moderními architekturami počítačů, modely paralelního programování a s modely paralelního výkonu. Kurz také představí druhy paralelismu, které se často vyskytují ve vědeckých aplikacích, a typy paralelní
komunikace.
Poslední úprava: doc. RNDr. Václav Kučera, Ph.D. (12.05.2019)
This course focuses on how to program parallel computers to efficiently solve challenging problems in science and engineering, where very fast computers are required either to perform complex simulations or to analyze
enormous datasets. Students will be introduced to modern machine architectures, parallel programming models, and models of parallel performance. The course will also introduce patterns of parallelism which occur frequently
in scientific applications and types of parallel communication.
Cíl předmětu - angličtina
Poslední úprava: doc. RNDr. Václav Kučera, Ph.D. (12.05.2019)
The main goal of the course is to introduce students to concepts and tools for high-performance computing. A special focus will be on aspects of modern supercomputers, including heterogeneous systems, accelerators, and evaluating the time and energy cost of a specific implementation. Students will gain hands-on experience in parallel programming and be introduced to current research challenges.
Podmínky zakončení předmětu -
Poslední úprava: doc. RNDr. Václav Kučera, Ph.D. (29.10.2019)
Studenti budou průběžně řešit domácí úkoly zadávané pravidelně v průběhu semestru (případně zahrnující písemné úkoly, jednoduché programování). Na konci je závěrečná zkouška.
Poslední úprava: Erin Claire Carson, Ph.D. (07.06.2019)
Students will complete homework assignments given periodically throughout the semester (possibly including written assignments, simple programming, as well as potentially more open-ended problems) as well as a final exam.
Literatura -
Poslední úprava: doc. RNDr. Václav Kučera, Ph.D. (12.05.2019)
T. G. Mattson. Patterns for Parallel Programming, 2004.
B. Schmidt, J. Gonzalez-Dominguez, C. Hundt, M. Schlarb. Parallel Programming: Concepts and Practice, 2017.
M. J. Quinn. Parallel programming in C with MPI and OpenMP, 2003.
B. Barney, Introduction to Parallel Computing, https://computing.llnl.gov/tutorials/parallel_comp/
V. Eijkhout. Introduction to High-Performance Scientific Computing, http://www.tacc.utexas.edu/~eijkhout/istc/istc.html
M. McCool, J. Reinders, A. Robison. Structured Parallel Programming: Patterns for Efficient Computation, 2012.
D. B. Kirk, W. W. Hwu. Programming Massively Parallel Processors: A Hands-on Approach, 2016.
Poslední úprava: doc. RNDr. Václav Kučera, Ph.D. (12.05.2019)
T. G. Mattson. Patterns for Parallel Programming, 2004.
B. Schmidt, J. Gonzalez-Dominguez, C. Hundt, M. Schlarb. Parallel Programming: Concepts and Practice, 2017.
M. J. Quinn. Parallel programming in C with MPI and OpenMP, 2003.
B. Barney, Introduction to Parallel Computing, https://computing.llnl.gov/tutorials/parallel_comp/
V. Eijkhout. Introduction to High-Performance Scientific Computing, http://www.tacc.utexas.edu/~eijkhout/istc/istc.html
M. McCool, J. Reinders, A. Robison. Structured Parallel Programming: Patterns for Efficient Computation, 2012.
D. B. Kirk, W. W. Hwu. Programming Massively Parallel Processors: A Hands-on Approach, 2016.
Požadavky ke zkoušce -
Poslední úprava: doc. RNDr. Václav Kučera, Ph.D. (29.10.2019)
Závěrečná zkouška bude ústní. Studentům bude položena jedna nebo dvě otázky související s materiálem ze sylabu, který byl zahrnut v přednáškách a cvičeních.
Poslední úprava: Erin Claire Carson, Ph.D. (07.06.2019)
The final exam will be given orally. Students will be asked one or two questions related to the material on the syllabus that was covered in lectures and exercises.
Sylabus -
Poslední úprava: doc. RNDr. Václav Kučera, Ph.D. (12.05.2019)
1. Parallel architectures
2. Parallel programming models
3. Roofline and parallel performance models
4. Designing parallel programs
5. Research challenges
Poslední úprava: doc. RNDr. Václav Kučera, Ph.D. (12.05.2019)
1. Parallel architectures
2. Parallel programming models
3. Roofline and parallel performance models
4. Designing parallel programs
5. Research challenges
Vstupní požadavky -
Poslední úprava: doc. RNDr. Václav Kučera, Ph.D. (12.05.2019)
As a preliminary we assume to have basic knowledge of linear algebra as, for example, from the course NMAG101, experience in programming, and familiarity with parallel computing, for example, from the course NMNV532.
Poslední úprava: doc. RNDr. Václav Kučera, Ph.D. (12.05.2019)
As a preliminary we assume to have basic knowledge of linear algebra as, for example, from the course NMAG101, experience in programming, and familiarity with parallel computing, for example, from the course NMNV532.