“High-performance computing systems and applications” - course 40,000 rubles. from MSU, training 8 weeks. (2 months), Date: November 27, 2023.
Miscellaneous / / November 27, 2023
Purpose The implementation of the program is basic training for individuals wishing to gain knowledge and skills in the development of high-performance applications for supercomputers.
The program studies the basic concepts and principles of constructing supercomputer systems, the architecture and functionality of supercomputer system software, MPI and OpenMP parallel programming technologies, methods for debugging and tuning the efficiency of parallel programs for supercomputers using MPI message passing technologies and OpenMP.
Particular attention is paid to the study and practical development of the technologies being studied and the methods used building parallel programs using the example of supercomputers installed at Moscow State University: the Lomonosov and Blue systems Gene/P. In particular, the features of using modern compilers for the programming languages C, C++, Fortran installed on these systems are studied, the use parallel mathematical libraries, instrumental systems for debugging and adjusting the efficiency of parallel programs, methods for organizing parallel work with files.
Form of study
Full-time
Scope of the program (academic hours)
Total - 72
Classroom - 60
Admission requirements: persons with higher education, professional activity - scientists in the field of information and communication technologies, mathematical modeling using high-performance computing systems, teachers of higher educational institutions, engineering and technical workers of organizations associated with the use of high-performance computing technology.
Learning outcomes:
Proficient in MPI and OpenMP parallel programming technologies, working with supercomputers and information networks; understanding of the principles of constructing supercomputer architectures and their software, knowledge of basic methods and tools for developing parallel programs for supercomputers.
As a result of mastering the course, the student should:
know:
· fundamentals of methods for developing parallel programs for supercomputers;
· principles of supercomputer architecture design;
· specification of parallel programming technology MPI-1 and MPI-2, composition and features of various open libraries that implement MPI standards;
· OpenMP directives and functions;
· basic concepts and directives of task management systems for supercomputers;
· methods of remote access to supercomputers, ssh and ftp protocols for remote access and copying of information;
· methods for assessing the effectiveness of parallel programs
be able to:
· effectively apply the studied technologies in the practice of developing parallel programs for the Lomonosov and Blue Gene/P supercomputers.
Own technologies for developing parallel programs for supercomputers.
Module 1. Introduction to the topic of high performance computing.
1.1. Basic definitions and basic concepts.
1.2. Justification of the need to develop supercomputers. "Great Challenge" tasks.
1.3. Main directions of development of supercomputer technologies. Problems of exaflop computing.
1.4. Sample problems
2. Principles of designing architectures for high-performance computing systems.
2.1. Basic elements of multiprocessor computing systems architectures.
2.1.1. Processor nodes. Examples of implementations.
2.1.2. Multi-level memory organization of supercomputers.
2.1.3. Methods for implementing communication subsystems of processor nodes.
2.1.4. Methods of hardware organization of input-output systems.
2.2. Review of architectures of multiprocessor computing systems.
2.2.1. Multiprocessor systems with shared memory.
2.2.2. Multiprocessor systems with distributed memory.
2.2.3. Heterogeneous high-performance computing systems
2.2.4. Massively parallel computing systems.
2.2.5. Cluster systems.
2.3. Methods for assessing the performance of computing systems.
2.4. Trends in the development of high-performance computing systems. Moore's Law. Top500 and Top50 list.
2.5. Examples of high performance computing system architectures.
2.5.1. Architecture of the supercomputer of Moscow State University "Lomonosov"
2.5.2. Architecture of the IBM Regatta shared memory multiprocessor system.
2.5.3. Architecture of the massively parallel computing system BlueGene/P
3. Basic elements of software for multiprocessor computing systems.
3.1. OS .
3.2. Parallel file systems.
3.3. Job management systems.
3.4. Parallel mathematical libraries.
3.5. Programming systems and tool environments for developing and debugging parallel programs.
3.6. Lomonosov supercomputer software, BlueGene/P.
Module 2. Basics of OpenMP technology.
2.1 Basic concepts. Secondary functions. Parallel and sequential areas. Distribution of work. Parallel loops.
2.2 Parallel sections. Tasks. Synchronization methods.
Module 3. Fundamentals of MPI message passing technology.
3.1. MPI standards: implementation, development directions.
3.2. Basic concepts, principles of constructing parallel programs using MPI technology.
3.3. The concept of message transmission modes.
3.4. Organization of point-to-point exchanges.
3.5. Collective MPI operations.
3.6. Derived data types.
3.7. Virtual topologies and operations on communicators.
3.8. Intercommunicators. One-way communications. Error processing.
3.9. Dynamic process control. Parallel I/O.