Coding Mistake Made Intel GPUs 100X Slower in Ray Tracing
Further confirmation that drivers are of the utmost importance.
Intel Linux GPU driver developers have released an update that results in a massive 100X boost in ray tracing performance. This is something to be celebrated, of course. However, on the flip side, the driver was 100X slower than it should have been because of a memory allocation oversight. The news comes amid reports that Intel's shipping drivers for its Arc GPUs are fraught with issues in Windows that are akin to "[...]living in the middle of a minefield - mind you, while playing drunk." The company has also admitted that Arc performance is sub-par with older APIs, like DX11, in Windows.
Linux-centric news site Phoronix reports that a fix merged into the open-source Intel Mesa Vulkan driver was implemented by Intel Linux graphics driver engineering stalwart Lionel Landwerlin on Thursday. The developer wryly commented that the merge request, which already landed in Mesa 22.2, would deliver “Like a 100x (not joking) improvement.” Intel has been working on Vulkan raytracing support since late 2020, but this fix is better late than never.
Even readers who aren’t (driver) developers will probably be able to understand the issue with the previous code. Usually, the Vulkan driver would ensure temporary memory used for Vulkan raytracing work would be in local memory, i.e., the very fast graphics memory onboard the discrete GPU.
A line of code was missing, so this memory allocation housekeeping task wasn’t set. Thus, the Vulkan driver would shift ray tracing data to slower offboard system memory and back. Think of the continued convoluted transfers to this slower memory taking place, slowing down the raytracing performance significantly. It turns out, as per our headline, that setting a flag for "ANV_BO_ALLOC_LOCAL_MEM” ensured that the VRAM would be used instead, and a 100X performance boost was the result.
Mesa 22.2, which includes the new code, is due to be branched in the coming days and will be included in a bundle of other driver refinements, which should reach end-users by the end of August.
The above tale reminds us of the importance of good drivers to support hardware. Intel’s discrete graphics cards and drivers are admittedly immature, and we are perhaps seeing a disconnect between the expected early performance of the Arc Alchemist line and what is being achieved. In a recent set of official benchmarks, Intel compared the Arc A750 with the GeForce RTX 3060 to show its card is a ‘winner.’ However, did it originally aim to pitch the A750 as a hammer of the RTX 3060, or was it aiming higher?
Trying to be optimistic about Intel’s Arc situation, one might hope that the GPUs have a lot of potential once driver updates start to flow.
For more Intel Arc information, please check out our guide to the Alchemist series performance, specs, release dates, and more.
Stay On the Cutting Edge: Get the Tom's Hardware Newsletter
Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.
Mark Tyson is a news editor at Tom's Hardware. He enjoys covering the full breadth of PC tech; from business and semiconductor design to products approaching the edge of reason.
-
Jhfry Not to be obnoxious, but saying A is 100x faster than B makes sense however saying that B is 100x slower than A makes no sense.Reply
If I have $1, and you have 100x more, you have $1x100=$100. If you have $100, and I have 100x fewer, I can't write that equation.
The correct way to say it is that the old driver was so bad that it only provided 1/100 or 1% of of the ray tracing capability of the fixed driver.
That said, I think the media has been unfairly hard on Intel. Considering AMD and NVIDIA have decades of experience developing drivers for dedicated 3d rendering GPUs, the fact that Intel released a competitive solution as quickly as they have is impressive. And I wager that their Linux support will quickly eclipse their competition. -
Kamen Rider Blade Must be some rank Amateur Coders if you forgot to do your RT work in Local VRAM instead of the PC's System RAM for all these years of Driver development.Reply -
BurritomanSauce
I agree bro! The writer of this article/blog makes no sense. Shame.Jhfry said:Not to be obnoxious, but saying A is 100x faster than B makes sense however saying that B is 100x slower than A makes no sense.
If I have $1, and you have 100x more, you have $1x100=$100. If you have $100, and I have 100x fewer, I can't write that equation.
The correct way to say it is that the old driver was so bad that it only provided 1/100 or 1% of of the ray tracing capability of the fixed driver.
That said, I think the media has been unfairly hard on Intel. Considering AMD and NVIDIA have decades of experience developing drivers for dedicated 3d rendering GPUs, the fact that Intel released a competitive solution as quickly as they have is impressive. And I wager that their Linux support will quickly eclipse their competition. -
mitch074
No - simply too used to coding a driver for an iGPU (or not having access to a discrete one) where this fix has absolutely no effect.Kamen Rider Blade said:Must be some rank Amateur Coders if you forgot to do your RT work in Local VRAM instead of the PC's System RAM for all these years of Driver development. -
NinjaChemist
In the equation 100=100x; x=1Jhfry said:Not to be obnoxious, but saying A is 100x faster than B makes sense however saying that B is 100x slower than A makes no sense.
If I have $1, and you have 100x more, you have $1x100=$100. If you have $100, and I have 100x fewer, I can't write that equation.
The correct way to say it is that the old driver was so bad that it only provided 1/100 or 1% of of the ray tracing capability of the fixed driver.
That said, I think the media has been unfairly hard on Intel. Considering AMD and NVIDIA have decades of experience developing drivers for dedicated 3d rendering GPUs, the fact that Intel released a competitive solution as quickly as they have is impressive. And I wager that their Linux support will quickly eclipse their competition. -
NinjaChemist
Intel hasn't made a discreet GPU in 20y, even in the low likelihood one of the coders from their early cards is working on Arc, that experience isn't very relevant.Kamen Rider Blade said:Must be some rank Amateur Coders if you forgot to do your RT work in Local VRAM instead of the PC's System RAM for all these years of Driver development.
If making graphics cards were easy, then 100s of companies would have jumped in when 3070s were selling for $1500. -
tracker1 It's both shocking and it isn't. AMD have spent literally decades optimizing drivers for large GPU designs and Intel has only had to do mediocre iGPU that only needs to do all enough for video playback and general office tasks. Nobody cares if PowerPoint only gets 30fps.Reply
The A750 is a massive GPU and from what I understand of the design it should be punching around 3070 Ti levels. It's all down to the driver and Intel knows they can't complete as is and is sitting on a ton of back stock with a bow depressed GPU market. They're going to take a bath on this one.
If you're a Linux user, this card could prove to be a great value. Open drivers that will improve dramatically over time. Decent Vulcan support, considering DXVK, probably a good option for Linux gaming. And low power usage compared to higher end options. Though higher than the 3060 comparison.
Opportunities for compute and encoding chores as well. It would be a gamble though. Also it only works well paired with 12th gen Intel CPU.... So not good for AMD rigs. Which leaves me out. Also, the big/little support in Linux likely won't start landing in stable releases for a few months still.
I guess it's just a mixed bag, but maybe an opportunity for some. -
spongiemaster
The details on this are slim, but if it only affected the linux drivers, how much of a priority do you think ray tracing performance in Linux is for the Intel driver development team right now? If they can't release the hardware globally because the Windows drivers are so terrible, then Intel has probably outsourced the linux driver development to AMD's driver team.Kamen Rider Blade said:Must be some rank Amateur Coders if you forgot to do your RT work in Local VRAM instead of the PC's System RAM for all these years of Driver development.