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.