Heterogeneous Computing Platforms

The aim of this course is to deal with the state-of-the-art platforms and technologies, which present an important 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. For a selected problem, related to their doctoral thesis, they will have to recognize an interesting platform and then implement and evaluate their problem on it.

In this course, we will study the speed-up of complex algorithms on modern hardware, how to combine CPU and custom FPGA circuits, programmed in OpenCL, and how to analyse the effect of number representation to reduce computational cost and save energy.