The course is two-fold: It provides an update on the latest state of the art CPU architectures for HPC and connects them to modern programming in C++ and Fortran.
Covered are all major CPU architectures common in HPC such as Intel (Xeon Scalable Processors), AMD (Epyc) and PowerPC (Power 9). These architectures will be explained in terms of needs for software developers and researchers to utilize their full potential, such as SIMD extensions, cache hierarchies, NUMA configurations, multi-core/-threading, memory bandwidth, throughput, etc.
For each of the addressed architectural properties, techniques and software design patterns are discussed that can be leveraged in modern high-level languages C++ and Fortran. Aside from standardized high-level language features, also compiler specific extensions are highlighted for the latest compilers like GCC/GFortran, LLVM Clang/Flang, IBM XL C++ & Fortran compilers, and Intel C++ & Fortran compilers.
The course will contain up to 50% hands-on exercises covering all topics to practice the techniques and patterns gained.
About the tutors
Georg Zitzlsberger formerly worked for Intel Deutschland GmbH (Germany). He has been a Technical Consulting Engineer for Intel(R) Software Development tools for many years before he recently joined IT4Innovations. In his new role as researcher he offers consulting services for Intel Software Development tools and Intel architectures throughout the IT4Innovations network.
Jakub Beránek obtained his Master's Degree in Computer Science and Technology at VŠB - Technical University of Ostrava in 2018. In the same year he joined IT4Innovations as a research assistant at the Advanced Data Analysis and Simulations Laboratory, where he is working on distributed programming models.
Radim Vavřík is a Ph.D. student in Computational Sciences and researcher in the Infrastructure Research Lab at IT4Innovations. He is mainly interested in parallel computing, scalable algorithms design, GPU acceleration and code optimization, and heterogeneous architectures. He worked on hydrological and flood modeling software, and high-performance heterogeneous platform for energy efficient computing. Now he is focused on GPU acceleration of the ESPRESO library, a massively parallel library based on the finite element method (FEM) for engineering applications.