GPU Computing in Vulkan by Miloslav Stofa
Release date:2021, February
Duration:03 h 12 m
Author:Miloslav Stofa
Skill level:Beginner
Language:English
Exercise files:Yes
The course shows the simplest possible way to create a project utilizing the Vulkan library to run a compute shader: From Makefile to the program performing very fast parallel calculations in GPU. Don’t expect much theory, the course is intended for developers who prefer to see the code to learn “how to …”.
Vulkan is a cross-platform 3D graphics and computing library, a successor of OpenGL. It was first released in 2016 and it is available on most modern operating systems today.
All functions and operations with the Vulkan library are demonstrated using C language, in a very understandable way, suitable also for developers specialized in other languages. To fully understand the course, some experience in programming and using static libraries is required though.
The course tries to lead you to visible results as soon as possible. Vulkan library usually requires writing hundreds (up to thousands) of lines to get the first results and to understand what is happening inside, but here, the project grows while keeping your attention on all the dependencies.
The course describes how to:
- Read properties and limits of the graphics adapters in the system
- Allocate the GPU logical device and its execution queues
- Allocate the GPU memory, read and write data from/to it
- create a command buffer, record actions in it, and send it to the GPU queue for execution
- Implement data processing in a shader and execute in parallel
- Generate a fractal image in the GPU
- Compare results of GPU and CPU computing
- Compare the speed of GPU and CPU computing
In the end, you’ll be ready to write and execute your own compute shader using the Vulkan library. Or, it gives a very good start to implementing 3D graphics in Vulkan since you will already understand the principles and basics of Vulkan API.
thanks a lot for this course.