9600-1027/01 – Introduction to HPC systems (UHPC)
| Gurantor department | IT4Innovations | Credits | 4 |
| Subject guarantor | doc. Ing. Lubomír Říha, Ph.D. | Subject version guarantor | doc. Ing. Lubomír Říha, Ph.D. |
| Study level | undergraduate or graduate | Requirement | Compulsory |
| Year | 1 | Semester | winter |
| | Study language | Czech |
| Year of introduction | 2019/2020 | Year of cancellation | 2022/2023 |
| Intended for the faculties | FEI | Intended for study types | Follow-up Master |
Subject aims expressed by acquired skills and competences
After completing the course, the student will be able to:
- Distinguish between various types of parallel and high-performance computing (HPC) architectures, understand their classification and operating principles, including basic awareness of current trends in HPC technologies.
- Analyze the performance of parallel systems and evaluate their scalability using fundamental metrics and performance models.
- Understand the architecture of processors, accelerators, and network infrastructure used in HPC systems.
- Acquire the basics of programming in the HPC environment.
- Design, implement, and optimize simple parallel applications for shared memory using OpenMP.
- Apply basic methodology for developing parallel programs, including selecting suitable parallelization strategies.
- Gain an overview of the development and use of HPC systems in scientific and engineering computations.
- Obtain practical experience with using HPC systems, including the basics of working with Linux and Bash, usage of resource management systems, code compilation, Git, etc.
Teaching methods
Lectures
Tutorials
Project work
Summary
First, a classification of computer architectures and taxonomy of parallel computers is addressed. Description of new technologies is provided including computing units and processors and computer networks for HPC as well as introduction to performance evaluation of parallel computers and their scalability. Secondly, the course will provide an overview of parallel applications creation, including parallel processing models depending on the target parallel architecture, parallel application creation methodology, implementation techniques, and parallel code evaluation. The general overview will be demonstrated on specific practical algorithms.
In the second half of the semester, the course will focus on the development of parallel codes for shared memory using OpenMP. This will be also a topic of the seminar project.
The practical exercises and labs will be done using HPC machines of the IT4Innovations supercomputing centre; therefore, students will get familiar with the real HPC production environment.
Compulsory literature:
Recommended literature:
1. Introduction to Parallel Computing (2nd Edition); Ananth Grama, Anshul Gupta, George Karypis, Vipin Kumar; Addison Wesley 2003; ISBN: 0-201-64865-2
2. Principles of Parallel Algorithm Design, http://www.parallel-algorithms-book.com/.
3. K. Hwang, Advanced Computer Architecture, McGraw-Hill: 1993.
4. Hwang and Zhiwei, Scalable Parallel Computing, McGraw-Hill: 1998.
5. C. Xavier, S. S. Iyengar, Introduction to Parallel Algorithms, John Wiley & Sons, 1998, pages: 365.
Additional study materials
Way of continuous check of knowledge in the course of semester
elaboration of a project, its presentation
E-learning
Other requirements
No further requirements.
Prerequisities
Subject has no prerequisities.
Co-requisities
Subject has no co-requisities.
Subject syllabus:
1. Introduction to HPC systems
2. Classification of parallel architectures
3. Evaluating the Performance of Parallel Computers
4. Computer networks for HPC
5. Processor architectures in HPC
6. Introduction to programming of parallel applications
7. Methodology of creating parallel applications
8. Analysis of parallel algorithms
9. Single core optimization
10. Shared memory programming (OpenMP)
Conditions for subject completion
Occurrence in study plans
Occurrence in special blocks
Assessment of instruction