Vulkan Compute Example Save

Simple example of using Vulkan for GPGPU computing

Project README

Vulkan Compute Example

Simple (but complete) example of Vulkan use for GPGPU computing. Saxpy kernel computation on 2d arrays.

Features covered:

  • Vulkan boilerplate setup using vulkan-hpp
  • data copy between host and device-local memory
  • passing array parameters to shader (layout bindings)
  • passing non-array parameters to shader (push constants)
  • define workgroup dimensions (specialization constants)
  • very simple glsl shader (saxpy)
  • glsl to spir-v compilation (build time)

This was an attempt to structure the Vulkan compute code in a way that would be easy to modify for each particular use case. I think I failed here so this example still sucks. But I learned while doing this and as a result there is a vuh Vulkan compute library which enables you to do the same but in (literally) 10 lines of code. You're cordially invited to use that instead.

Dependencies

Open Source Agenda is not affiliated with "Vulkan Compute Example" Project. README Source: Glavnokoman/vulkan-compute-example

Open Source Agenda Badge

Open Source Agenda Rating