Many advanced data processing paradigms fit incredibly well to the parallel-architecture that GPU computing offers, which has resulted in the continuously growing adoption of graphics card for general purpose computing. Exciting advancements in the open source Vulkan Project are enabling developers to take advantage of general purpose GPU computing capabilities in cross-vendor mobile and desktop GPUs including AMD, Qualcomm, NVIDIA & friends.
In this talk we will learn to write GPU accelerated algorithms which will be able to run on virtually any GPU hardware, including non-NVIDIA GPUs. We'll introduce an intuition and key concepts around GPU computing, as well as show how you can get started with the Vulkan Kompute framework with only a handful of lines of C++ or Python code.
Throughout the talk we will also dive into the GPU computing terminology around asynchronous & parallel workflow processing, cover the core principles of machine learning data parallelism, explain the hardware concepts of GPU queues & queueFamilies, and talk about how advancements in new and upcoming graphics cards will enable for even bigger speedups (such as the NVIDIA Ampere GA10x architecture which will support up to 3 parallel queue processing workloads).
In more detail these are the topics of the talk:
• GPU computing intuition, hardware and foundations
• Deeper dive into the OSS Vulkan C++ SDK enabling cross-vendor GPU computing
• The C++ Kompute Framework and its architecture which augments Vulkan
• Simple C++ Example with Kompute
• Deeper Optimizations (Batch Commands, Asynchronous and Parallel Workloads)
• FamilyQueues for Hardware-Parallel Workloads
• C++ Example for FamilyQueue Hardware-Parallel Workload
A more in-depth version of this talk can be found in this blog post:
• https://towardsdatascience.com/parallelizing-heavy-gpu-workloads-via-multi-queue-operations-50a38b15a1dc
If you are interested in the higher level use-cases, as well as machine learning examples, you can join the talk at the Python Room:
• https://fosdem.org/2021/schedule/event/python_cuda/
Other useful links:
• Vulkan Kompute Repo: https://github.com/EthicalML/vulkan-kompute • Vulkan Kompute Docs: https://kompute.cc/
Speakers: Alejandro Saucedo