Přístupnostní navigace
E-application
Search Search Close
Course detail
FIT-PPPAcad. year: 2024/2025
The course covers architecture and programming of parallel systems with functional and data parallelism. First, the parallel system theory and program parallelization are discussed. The detailed description of most proliferated supercomputing systems, interconnection network typologies and routing algorithms is followed by the architecture of parallel and distributed storage systems. The course goes on in message passing programming in standardized interface MPI. Consequently, techniques for parallel debugging and profiling are discussed. Last part of the course is devoted to the description of parallel programming patterns and case studies from the are of linear algebra, physical systems described by partial differential equations, N-Body systems and Monte-Carlo methods.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Entry knowledge
Von-Neumann computer architecture, computer memory hierarchy, cache memories and their organization, programming in C/C++. Knowledge gained in courses PRL and AVS.
Rules for evaluation and completion of the course
Credit Requirements:
A minimum of 30 points from the project and a minimum of 20 points from ongoing tests.
Aims
To get familiar with the architecture of distributed supercomputing systems, their interconnection networks and storage. To orientate oneself in parallel systems on the market, be able to assess communication and computing possibilities of a particular architecture and to predict the performance of parallel applications. Learn how to write portable programs using standardized interfaces and languages, specify parallelism and process communication. To learn how to practically use supercoputer for solving complex engineering problems.Overview of principles of current parallel system design and of interconnection networks, communication techniques and algorithms. Survey of parallelization techniques of fundamental scientific problems, knowledge of parallel programming in MPI. Knowledge of basic parallel programming patterns. Practical experience with the work on supercomputers, ability to identify performance issues and propose their solution.Knowledge of capabilities and limitations of parallel processing, ability to estimate performance of parallel applications. Language means for process/thread communication and synchronization. Competence in hardware-software platforms for high-performance computing and simulations.
Study aids
Prerequisites and corequisites
Basic literature
Recommended reading
Elearning
Classification of course in study plans
specialization NGRI , 0 year of study, summer semester, electivespecialization NADE , 0 year of study, summer semester, electivespecialization NISD , 0 year of study, summer semester, electivespecialization NMAT , 0 year of study, summer semester, electivespecialization NSEC , 0 year of study, summer semester, electivespecialization NISY up to 2020/21 , 0 year of study, summer semester, electivespecialization NNET , 0 year of study, summer semester, electivespecialization NMAL , 0 year of study, summer semester, electivespecialization NCPS , 0 year of study, summer semester, electivespecialization NHPC , 1 year of study, summer semester, compulsoryspecialization NVER , 0 year of study, summer semester, electivespecialization NIDE , 0 year of study, summer semester, electivespecialization NISY , 0 year of study, summer semester, electivespecialization NEMB , 2 year of study, summer semester, compulsoryspecialization NSPE , 0 year of study, summer semester, electivespecialization NEMB , 2 year of study, summer semester, compulsoryspecialization NBIO , 0 year of study, summer semester, compulsoryspecialization NSEN , 0 year of study, summer semester, electivespecialization NVIZ , 0 year of study, summer semester, elective
Lecture
Teacher / Lecturer
Syllabus
Exercise in computer lab
Project