GPUs have immensely contributed to various applications: in graphics, AI, scientific computing, you name it. But their programming ecosystem is a mess - in my opinion. You can program GPUs with several frameworks (CUDA, OpenGL, OpenCL, Triton, ...), but they often struggle with portability (e.g. locked to a specific OS or GPU manufacturer) and are generally hard to use (e.g. GPU code has to be written with special programming languages, optimization is complicated, ...).
This video presents a brief history of GPU programming and how to develop GPU-accelerated software. To make it more approachable, I decided to focus on the main features of the frameworks instead of explaining the code in detail. Of course, you can view the full source code that I used to make the video in the repository linked below, and even run it on your system!
Full source code: https://github.com/Vincent-Therrien/gpu-arena
Script: https://vincent-therrien.github.io/videos/gpu/script_en.html
References: https://vincent-therrien.github.io/videos/gpu/script_en.html#references
Chapters:
- Introduction:
00:00
- How GPUs Work:
01:10
- Graphics APIs:
03:45
- General-Purpose APIs:
09:50
- The Future:
14:10