Tag: gpu

GPU Accelerated Computing & Optimizations on Cross-Vendor Graphics Cards with Vulkan & Kompute – by Alejandro Saucedo

https://cppcon.org/
---

GPU Accelerated Computing and Optimizations on Cross-Vendor Graphics Cards with Vulkan & Kompute - Alejandro Saucedo - CppCon 2022
https://github.com/CppCon/CppCon2022

Many advanced data processing paradigms fit incredibly well to the parallel-architecture that GPU computing offers, and exciting advancements in the open source projects such as the Vulkan SDK (a collection of tools for cross-vendor GPU development) and the Kompute Project (a Linux Foundation open source project that enables cross-vendor general-purpose GPU programming) are enabling developers to take advantage of general purpose GPU computing capabilities in cross-vendor mobile and desktop GPUs, including over 1000 GPUs across AMD, Qualcomm, NVIDIA & many more graphics processors. In this talk we will provide a conceptual and practical insight into the cross-vendor GPU compute ecosystem as well as how to adopt these tools to add GPU acceleration to your existing C++ applications.

In this talk we will show how you can write a simple GPU accelerated machine learning algorithm from scratch which will be able to run on virtually any GPU. We will give an overview on the projects that are making it possible to accelerate applications across cross-vendor GPUs. We'll show how you can get started with the full power of your GPU using the Kompute framework with only a handful of lines of C++ code, as well as providing an intuition around how optimizations can be introduced through the lower level C++ interface.

As part of the more advanced example, we will showcase some optimizatiosn that can be leveraged through the hardware capabilities of relevant graphics cards, such as concurrency-enabled GPU queues which allow us to introduce 2x+ performance improvements into advanced data processing workloads. We will dive into the GPU computing terminology around asynchronous & parallel workflow processing, cover the core principles of 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 more recent GPU architectures which will support 3 or now even more parallel queue processing workloads).
---

Alejandro Saucedo

Alejandro is the Chief Scientist at the Institute for Ethical AI & Machine Learning, where he contributes to policy and industry standards on the responsible design, development and operation of AI, including the fields of explainability, GPU acceleration, ML security and other key machine learning research areas. Alejandro Saucedo is Director of Engineering at Seldon Technologies, where he leads teams of machine learning engineers focused on the scalability and extensibility of machine learning deployment and monitoring products. With over 10 years of software development experience, Alejandro has held technical leadership positions across hyper-growth scale-ups and has a strong track record building cross-functional teams of software engineers. He is currently appointed as governing council Member-at-Large at the Association for Computing Machinery, and is currently the Chairperson of the GPU Acceleration Kompute Committee at the Linux Foundation.

LInkedin: https://linkedin.com/in/axsaucedo
Twitter: https://twitter.com/axsaucedo
Github: https://github.com/axsaucedo
Website: https://ethical.institute/
---

Videos Streamed & Edited by Digital Medium: http://online.digital-medium.co.uk

#cppcon #programming #gpu

Filed under: UncategorizedTagged with: , , , , ,

What Is an Image? – Cpp Computer Graphics Tutorial, (GPU, GUI, 2D Graphics and Pixels Explained) – Will Rosecrans

https://cppcon.org/
---

What Is an Image, Anyway? - Cpp Computer Graphics Tutorial, (GPU, 2D Graphics, GUI, Colorspaces, YUT, Planter Formats & Pixels Explained) - Will Rosecrans - CppCon 2022
https://github.com/CppCon/CppCon2022

We all have at least a vague idea of what an image is, and that they are useful. It has even been proposed that 2D graphics functionality be added to the C++ language. But many developers haven't gotten too far into the weeds with the topic. What is an image? Sure, it's a 2D array of pixels. But what are pixels? What do the values in the pixels really mean? And, are you sure it's always just a single 2D array? Or that every pixel format actually stores discrete pixels? The reality is that the concept of an image can be blurry and filled with corner cases that will bewilder the newcomer and exasperate even experts.

Take a journey from the absolute basics of images in a computer, through a brief survey a more advanced topics. How much memory you need to allocate for n pixels. Alignment of pixels for efficient processing. Types like 12 bit int and half-float that aren't native C++ types. Almost (but not quite) compatible pixel formats across some common API's. Colorspaces. Colorspaces, but as defined from a slightly different niche. Colorspaces. Subsampling used in video formats. Some of the complexities from using a GPU, like compressed formats and mixed type formats. The performance implications of needing redundant copies of pixel data to interoperate between different libraries and API's. And how much of this you need to be aware of when making API's that might get used by developers with use cases you hadn't considered.
---

Will Rosecrans

Will Rosecrans is an independent software developer. He has recent experience working at global scale on the EdgeCast/Edgio content delivery network which handles billions of web requests and video streams. He worked on build and CI systems for C++ server software and his work led to a patent on rapid configuration propagation. He previously worked in the visual effects industry, working on pipeline technology at Moving Picture Company, and was responsible for the general care and feeding of pixels and servers for advertising, TV and film projects. His academic background in film production includes the UCLA film production Summer Institute.
---

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk

#cppcon #programming #gpu

Filed under: UncategorizedTagged with: , , , ,