Vulkan Multi-threading at Khronos Munich Chapter Meeting
One of the great things about open standards from organizations like Khronos is the community around them. There are meetups for OpenGL and Vulkan all over the world and one of those happened last Friday where the Khronos Munich Chapter had it’s inaugural Grand Opening at AMD’s Munich office.
About 40 people attended and I (Mathias Schott) had the opportunity to join Matthäus, Sascha and Norbert to talk about Vulkan, the new high performance graphics API from Khronos.
Vulkan is great for developers who have apps which are bottlenecked on the CPU side. Not only is driver overhead generally reduced, but applications can now submit render work from multiple CPU threads. My Vulkan Multi-Threading presentation discussed how Vulkan’s specifies and submits render work to the GPU as well as design features of Vulkan, like command pools, that make it a very good fit for scalable threading-friendly applications and drivers.
Many modern graphics workloads can end up being CPU limited, particularly if the load consists of a very large number of objects which don’t require complex shading, such as our Fish! multi-threading demo. We can adjust the number of worker threads and move rendering submission from the main thread to the workers to see a nice performance improvement. This is something that simply wouldn’t be possible with OpenGL, as attendees were able to observe during the socializing & demonstration part of the event.
Multi-threaded Fish demo
It was great to see so many people excited to start taking advantage of the features that Vulkan unlocks. I encourage all of you to get involved with your local Khronos chapters development communities . It’s a great way to learn as well as making new friends in the industry.
You can download my slides from the event here and learn more about Vulkan on our Vulkan Developer Page.