High-performance Computing

Course: Computer Systems and Networks

Structural unit: Faculty of Radiophysics, Electronics and Computer Systems

Title
High-performance Computing
Code
ОК 5
Module type
Обов’язкова дисципліна для ОП
Educational cycle
Second
Year of study when the component is delivered
2023/2024
Semester/trimester when the component is delivered
2 Semester
Number of ECTS credits allocated
6
Learning outcomes
The student should know: - areas of application of high-performance computing in the IT industry, science and technology; - general characteristics of high-performance computer systems; - basic approaches to solving complex computational problems on high-performance computer systems; - the main types of technologies for parallelization and acceleration of calculations in high-performance computer systems; - general specifics of using OpenMP, MPI and graphics accelerators for calculations. The student should have skills for: - creating a description of a batch job for a given resource management system of a computing cluster; - connecting and installing all the necessary software libraries and modules in the build environment and using it to compile own software components; - implementing the specified calculation algorithm in the program code using MPI and OpenMP technologies and carrying out debugging.
Form of study
Full-time form
Prerequisites and co-requisites
The discipline "High-performance computing" requires the knowledge and skills of the basic professional and practical education of a bachelor in the field of knowledge "Information technologies", in particular algorithms and calculation methods, principles and protocols of computer networks, system programming skills and the basics of parallel computing.
Course content
The discipline "High-performance computing" introduces students to modern methods of implementing high-performance computing. The modern approach involves both the use of computing clusters and specialized supercomputers. This requires the use of appropriate software tools - MPI and OpenMP parallelization tools, as well as software interfaces for using specialized hardware accelerators, such as CUDA. Architectural features of high-performance computing systems also determine the use of certain software tools and algorithms - shared or distributed memory, communication network topology, homogeneity or heterogeneity of computing resources, etc. The course examines typical architectures and, on the example of well-known computational problems, examines various approaches to the implementation of calculations using the environment of the university's HPC cluster.
Recommended or required reading and other learning resources/tools
1. Thomas Sterling, Maciej Brodowicz, Matthew Anderson. High Performance Computing: Modern Systems and Practices. — Morgan Kaufmann, 2017. — 718 pp. 2. Організація паралельних обчислень: Навчальний посібник / Укладачі: Є. Ваврук, О. Лашко. – Львів: Національний університет “Львівська політехніка”, 2017. – 70 с. 3. Луцків А.М., Лупенко С.А., Пасічник В.В. Паралельні та розподілені обчислення. — Львів. Магнолія, 2017. — 566 с. 4. William Gropp, Ewing Lusk, Anthony Skjellum. Using MPI, third edition: Portable Parallel Programming with the Message-Passing Interface. — MIT Press, 2014. — 336 pp. 5. Barbara Chapman, Gabriele Jost and Ruud van der Pas. Using OpenMP – Portable Shared Memory Parallel Programming. — MIT Press, 2007. — 384 pp.
Planned learning activities and teaching methods
Lectures, laboratory work, unsupervised work.
Assessment methods and criteria
Semester assessment: the study semester has 4 laboratory work activities. After completing the laboratory work and writing the reports, oral defenses of the reports are held with demonstrations of the correct performance of the tasks, analysis of the performance of the proposed solution, and a review of the implemented optimizations. Mandatory for admission to the exam is defense of a report on each laboratory work with a score of at least 8 out of 15 points. Final assessment (in the form of an exam): written electronic testing. The test consists of 20 multiple-choice questions worth 2 points each. In total, one can get from 0 to 40 points for the exam. The condition for achieving a positive grade for the discipline is to obtain at least 60 points, the grade for the exam cannot be less than 24 points.
Language of instruction
Ukrainian

Lecturers

This discipline is taught by the following teachers

Ievgen Andriiovych Sliusar
Faculty of Computer Engineering
Faculty of Radiophysics, Electronics and Computer Systems

Departments

The following departments are involved in teaching the above discipline

Faculty of Computer Engineering
Faculty of Radiophysics, Electronics and Computer Systems