Accelerator-Based Programming

5 credits

Course, Master's level, 1TD054

Autumn 2024 Autumn 2024, Uppsala, 33%, On-campus, English

Autumn 2024 Autumn 2024, Uppsala, 33%, On-campus, English For exchange students

About the course

Historically, data analysis and computing-related tasks have been executed on the CPU. With increasing data volumes, the interest in using various other computational platforms has increased. One important example of this is the use of GPUs, originally graphics processing units, for machine learning (GPU stands for Graphics Processing Unit).

Sometimes, one can get adequate or even great performance for a specific task by using an existing framework that supports an accelerator, such as a GPU. However, frequently it can be beneficial to write customised accelerator code. In this course, we review various accelerator types and compare them to traditional CPUs. We also explore the CPU/accelerator interface, and how we can program and profile performance on accelerators. Profiling is of uttermost importance in an accelerator context, since it is frequently a great challenge to actually unlock the theoretical gains in efficiency promised by the accelerators.

No reading list found.