|
|
|
||
Last update: doc. RNDr. Václav Kučera, Ph.D. (12.05.2019)
|
|
||
Last update: 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. |
|
||
Last update: 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. |
|
||
Last update: 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. |
|
||
Last update: 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. |
|
||
Last update: 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 |
|
||
Last update: 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. |