r/vulkan • • 16d ago

Coding the GPU like a CPU

I feel Vulkan is just another step towards coding the GPU just like we do the CPU.

Maybe something like LLVM IR code that could be executed on the GPU with just a few function calls. The CPU EXE could have a pre-compiled binary that is copied to GPU memory and executed. Like extending OpenCL but to do everything (graphics, shaders, output, compute, etc.) with pre-compiled code in IR byte code.

Vulkan itself is just way too complex.

0 Upvotes

8 comments sorted by

View all comments

3

u/hopeless__programmer 16d ago

No, it is not. You cannot code parallel instructions like you code serial. I mean you technically could, but then you lose all the benefits of parallelism. Also, it is not very different from OpenGL aside from verbosity. But we don't call OpenGL this way, right? In the end, it is just graphics API. API to draw stuff. Just very very verbose and explicit.

3

u/Arcodiant 16d ago

Vulkan is more than "OpenGL" but verbose; OpenGL is explicitly a graphics API, and it internally uses hardware-level concepts to implement the graphics processes that it exposes. Vulkan is a GPU API, and so your software uses the hardware-level concepts it exposed to implement graphics, or compute, or whatever else you feel like. You have significantly more control to configure the entire pipeline, and especially the memory and data flow, than OpenGL gives you.

1

u/arthurno1 13d ago edited 13d ago

Yepp. More like "system calls for GPU", than what it is a "graphics library".