Methods and technologies of high-performance computing

Course: Software Engineering

Structural unit: Faculty of information Technology

Title
Methods and technologies of high-performance computing
Code
ОК 7
Module type
Обов’язкова дисципліна для ОП
Educational cycle
Second
Year of study when the component is delivered
2023/2024
Semester/trimester when the component is delivered
1 Semester
Number of ECTS credits allocated
6
Learning outcomes
.Know and apply modern professional standards and other regulatory and legal documents on software engineering, including the development and implementation of distributed computing systems based on cloud technologies and services; identify information needs and classify data for software design; develop, analyze, substantiate and systematize software requirements; develop and evaluate software design strategies; substantiate, analyze and evaluate options for project solutions from the point of view of the quality of the final software product, resource limitations and other factors; analyze, evaluate and apply modern software and hardware platforms at the system level to solve complex software engineering problems; develop and modify the software architecture to meet the customer's requirements; reasonably choose programming paradigms and languages ​​for software development; apply modern means of software development in practice;
Form of study
Full-time form
Prerequisites and co-requisites
1. Know the basic concepts and principles of programming languages and technologies. 2. Be able to create program code; evaluate the effectiveness of the developed software tools. 3. Have basic programming skills.
Course content
High-performance computing technologies are studied, which are used to solve complex problems of various applied fields, when it is necessary to ensure high performance of information transmission, use of large volumes of operational and non-volatile memory. Students get acquainted with modern paradigms for programming multicore and cluster systems, models of parallel programming. The methods of effective parallel data processing that ensure maximum high-performance of computers, rational distribution of memory volumes and structures, bandwidth of communication channels are studied, are based on programming languages, algorithms and numerical methods that allow the implementation of parallel and distributed computing technologies. Parallelization technologies and distributed computing algorithms are considered. Considerable attention is paid to the development of parallel and distributed software for high-performance computer systems based on OLE, COM, DCOM, CORBA technologies, MRI and OpenMP library tools. As a result of studying the course, students acquire knowledge of basic methods, algorithms and tools for high-performance information processing, programming tools for parallel and distributed computing and their implementation, the ability to use computer hardware and software with tools for parallel and distributed processing, and high-level programming language classes.
Recommended or required reading and other learning resources/tools
1.Ashwin Pajankar. Raspberry Pi Supercomputing and Scientific Programming. – Nashik, Maharashtra, India, 2017. – 171 р. 2. Gropp, William. Using MPI : portable parallel programming with the Message-Passing Interface / William Gropp, Ewing Lusk, and Anthony Skjellum. Third edition. –Massachusetts Institute of Technology, 2018. – 330 с.
Planned learning activities and teaching methods
Lectures, laboratory activities, individual work
Assessment methods and criteria
The level of achievement of all planned learning outcomes is determined by the results of modular control, protection and performance of laboratory work and individual tasks of independent work. Semester current assessment of students is carried out during the semester for all types of work. The total score is formed as a weighted sum of points earned by the student for various types of work. The maximum number of points that a student can receive for work in a semester does not exceed 100 points. The final assessment form is an exam. To obtain the current score (maximum 60), it is necessary to defend laboratory work (maximum – 30 points), independent work (maximum – 12 points), pass modular tests (maximum 18 points). Non-formal education is also taken into account (up to 20 points). The exam is evaluated according to the testing scale (maximum 40 points).
Language of instruction
Ukrainian

Lecturers

This discipline is taught by the following teachers

Departments

The following departments are involved in teaching the above discipline