Interesting topic
Thanks for the answers! But that throws up even more questions to me :P
Okay, SPIR-V is the language that's supposed to run on every GPU because there will be a VM that translates SPIR-V to the GPU-specific machine code at runtime. Nice!
But one thing that's still a bit unclear to me is the following: Doesn't the VM that translates SPIR-V to GPU code actually need to run directly on the GPU itself? Like the Java VM runs on the CPU?
Or does the VM run on the CPU and then send the GPU code instruction by instruction to the GPU? That's a bit confusing to me...
Is it right that every driver will consist of the following 3 parts:
- SPIR-V-VM
- Vulkan API
- OpenCL API
?
Thanks for the answers! But that throws up even more questions to me :P
Okay, SPIR-V is the language that's supposed to run on every GPU because there will be a VM that translates SPIR-V to the GPU-specific machine code at runtime. Nice!
But one thing that's still a bit unclear to me is the following: Doesn't the VM that translates SPIR-V to GPU code actually need to run directly on the GPU itself? Like the Java VM runs on the CPU?
Or does the VM run on the CPU and then send the GPU code instruction by instruction to the GPU? That's a bit confusing to me...
Is it right that every driver will consist of the following 3 parts:
- SPIR-V-VM
- Vulkan API
- OpenCL API
?
Comment