Heterogeneous Computing Platforms
In this course, we will deal with state-of-the-art platforms and technologies that present a prevailing direction in ensuring enough computing performance for increasing computational requirements. Students will work with different types of hardware accelerators like GPU, FPGA, multicore CPU, and their combinations, preferably integrated into the high-performance computing system. For a selected application related to their doctoral thesis, they will have to recognize a suitable platform and then implement and evaluate the chosen application on it. In this course, we will study the speed-up of complex algorithms on modern hardware architectures, how to combine CPU and custom FPGA circuits to excel computation, and how to analyze the effect of number representation (fixed point, half-precision) to reduce computational cost and save energy. Restrictions/Prerequisites: Background in computer science, electronics, mathematics, or physics; programming skills, favorable in concurrent programming.