Intel's Open-Source Vulkan Driver For Ray-Tracing Gets "Like A 100x Improvement"
Intel's Linux graphics driver developers continue to be very busy polishing the DG2/Alchemist graphics card support for forthcoming Intel Arc Graphics hardware... Merged today to the open-source Intel Mesa Vulkan driver was a ray-tracing focused fix that yields "like a 100x (not joking) improvement." Even more of a kicker? The change is one line of code for the massive improvement.
Longtime Intel Linux graphics driver engineer Lionel Landwerlin had opened this merge request today after discovering this massive optimization. That MR in turn has already landed in Mesa 22.2. The description for this Intel Vulkan RT code change is simply, "Like a 100x (not joking) improvement."
So what's going on here? The Intel ANV change is to ensure the scratch memory for Vulkan ray-tracing use gets allocated to local memory, a.k.a. the local device memory for the DG2/Alchemist discrete graphics cards.
To now the device allocation for this RT scratch memory didn't have any allocation flags set and so presumably was getting allocated back to general system memory. Now with the "ANV_BO_ALLOC_LOCAL_MEM" flag set, it will ensure that scratch memory buffers are residing on memory local to the Intel GPU.
It's a simple oversight from when that code was originally written but means a massive performance improvement due to that lapse. At least it was caught now and prior to Intel Arc Graphics appearing with the masses. With Mesa 22.2 due to be branched in the coming days, Mesa 22.2 with this RT fix/optimization and plenty of other open-source Intel Linux graphics driver improvements will be out as stable around the end of August.
Intel has been working on their Vulkan ray-tracing support going back to late 2020 in preparation for Xe HPG introducing hardware RT capabilities.
Longtime Intel Linux graphics driver engineer Lionel Landwerlin had opened this merge request today after discovering this massive optimization. That MR in turn has already landed in Mesa 22.2. The description for this Intel Vulkan RT code change is simply, "Like a 100x (not joking) improvement."
So what's going on here? The Intel ANV change is to ensure the scratch memory for Vulkan ray-tracing use gets allocated to local memory, a.k.a. the local device memory for the DG2/Alchemist discrete graphics cards.
To now the device allocation for this RT scratch memory didn't have any allocation flags set and so presumably was getting allocated back to general system memory. Now with the "ANV_BO_ALLOC_LOCAL_MEM" flag set, it will ensure that scratch memory buffers are residing on memory local to the Intel GPU.
It's a simple oversight from when that code was originally written but means a massive performance improvement due to that lapse. At least it was caught now and prior to Intel Arc Graphics appearing with the masses. With Mesa 22.2 due to be branched in the coming days, Mesa 22.2 with this RT fix/optimization and plenty of other open-source Intel Linux graphics driver improvements will be out as stable around the end of August.
Intel has been working on their Vulkan ray-tracing support going back to late 2020 in preparation for Xe HPG introducing hardware RT capabilities.
22 Comments