HPC Lecture + Practical Exercise
The lecture presents the structure, the technology and the evaluation of modern high-performance computers. It begins with an overview of the area with emphasis on the different requirements to architecture. Fundamental topics are discussed, such as repetition, synchronisation, overhead, range, cache coherency, sequential consistency and vectorization. We will look into the whole spectrum of modern machines: small-scale SMP systems, large-scale parallel architectures, NUMA and CC-NUMA systems, Message Passing architectures and clustered systems, and small-scale SMP systems will be examined as the basis for the understanding of large-scale designs. The scalability of high-performance computers will be examined in detail.
Course goals: Basic understanding of all of the elements of high-performance computers and different architectures. Understanding of the interrelation between high-performance computer architecture and algorithm and ability, for the development of the optimal algorithm on modern architectures. Programming with vector classes, OpenMP, MpI.
Useful knowledge: Knowledge of the basics of technical computer science and the draft of digital systems, how they are obtained in the module HW, is desirable.