Intel’s open-source Vulkan graphics drivers for Arc Alchemist GPUs just brought in a pretty major upgrade. It turns out a small coding error was leading to a massive reduction in ray-tracing performance. With the code fixed, ray tracing performance has reportedly improved by up to 100x.
The merge request (Street Phoronix) made a few days ago shows developers are still working on optimizing and improving the performance of the Arc Alchemist GPUs. Lionel Landwerlin, the Intel Linux graphics driver engineer, was the author behind this update to the graphics drivers, which consisted of changing a line of code. Still, this simple modification was enough to boost ray tracing performance by 100x.
Even if you don’t know much about driver programming, the change is quite simple to explain. The new line of code added by Landwerlin allows the local memory (GPU memory) to be accessed when the GPU renders ray tracing effects by adding the “ANV_BO_ALLOC_LOCAL_MEM” flag set. Before the update, there were no allocation flags, meaning the GPU probably used system memory (RAM, for example) to ray trace.
To be clear, this wasn’t just an oversight by the original programmer. When the code for the driver was written, there was no local memory bit, so it was impossible to order the GPU to use VRAM for ray tracing. However, according to Kenneth Graunke, another Intel engineer, this update wouldn’t be necessary if the programmer had defaulted everything to the local memory.
KitGuru says: The fix hasn’t yet reached the stable branch, but it shouldn’t take long. Once it drops, it should be nice to compare performance before and after the implementation.