SubjectsSubjects(version: 996)
Course, academic year 2026/2027
   
High-Performance Computing for Computational Science - NMNV565
Title: High-Performance Computing for Computational Science
Form of teaching: lecture+practicals
Guaranteed by: Department of Numerical Mathematics (32-KNM)
Faculty: Faculty of Mathematics and Physics
Actual: from 2025
Duration in semesters: 1
Semester: winter
E-Credits: 5
Hours per week, examination: winter s.:2/2, C+Ex [HT]
Capacity: unlimited
Maximum number of enrolled students: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: yes / unlimited
Key competences: 4EU+ Flagship 3
State of the course: taught
Language: English
Teaching methods: full-time
Repeated enrollment: 2 / 2 / 2 / 2
Guarantor: doc. Erin Claire Carson, Ph.D.
Teacher(s): doc. Erin Claire Carson, Ph.D.
Class: M Mgr. MMIB
M Mgr. MMIB > Povinně volitelné
M Mgr. NVM
M Mgr. NVM > Povinně volitelné
Classification: Mathematics > Numerical Analysis
Annotation -
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.
Last update: Kučera Václav, doc. RNDr., Ph.D. (12.05.2019)
Aim of the course

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

Students will complete exercises assignments given each week as well as a final exam. Students must receive a 20% score on the exercises in order to take the exam.

Last update: Carson Erin Claire, doc., Ph.D. (05.08.2026)
Literature -

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: Kučera Václav, doc. RNDr., Ph.D. (12.05.2019)
Course assessment methods and requirements for successful completion, grading scheme -

The final exam will be given orally. Students will be asked three questions related to the material on the syllabus that was covered in lectures and exercises.

Last update: Carson Erin Claire, doc., Ph.D. (05.08.2026)
Syllabus -

1. Parallel architectures

2. Parallel programming models

3. Roofline and parallel performance models

4. Designing parallel programs

5. Research challenges

Last update: Kučera Václav, doc. RNDr., Ph.D. (12.05.2019)
Course registration requirements -

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.

Last update: Kučera Václav, doc. RNDr., Ph.D. (12.05.2019)
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html