NVIDIA Maxwell lacks DirectX 12 feature
NVIDIA’s Maxwell architecture is definitely a tech wonder but a few months ago a shadow was cast on the Maxwell line when it was found that the GeForce GTX 970 graphics card, which normally comes with 4 GB of VRAM, could only access 3.5 GB of the memory at full speed, while the rest works at a much lower speed. This tarnished the Maxwell line reputation and after serious marketing efforts by NVIDIA, the company did not suffer major losses because of this shortcoming.
Unfortunately it seems that the story continues now – it appears that Maxwell lacks a critical feature found in DirectX 12 and more precisely the architecture does not have support for Async Compute, which is one of the three highlight features of Direct3D 12, even after the GeForce driver informs apps the feature is there. This information has come out of Oxide Games, which claims NVIDIA’s marketing department pressured the game studio to remove certain features in its Ashes of the Singularity DirectX 12 benchmark.
Async Compute is a standardized API-level feature, which allows an app to better exploit the number-crunching resources of a GPU, by breaking down its graphics rendering tasks. Since NVIDIA driver tells apps that the Maxwell GPUs supports it, Oxide Games simply created its benchmark with Async Compute support, but when it attempted to use it on Maxwell, it was an “unmitigated disaster.” During the course of its developer correspondence with NVIDIA to try and fix this issue, it learned that Maxwell doesn’t really support Async Compute at the bare-metal level, and that NVIDIA driver bluffs its support to apps. NVIDIA instead started pressuring Oxide to remove parts of its code that use Async Compute altogether, it alleges.
“Personally, I think one could just as easily make the claim that we were biased toward NVIDIA as the only “vendor” specific-code is for NVIDIA where we had to shutdown Async Compute. By vendor specific, I mean a case where we look at the Vendor ID and make changes to our rendering path. Curiously, their driver reported this feature was functional but attempting to use it was an unmitigated disaster in terms of performance and conformance so we shut it down on their hardware. As far as I know, Maxwell doesn’t really have Async Compute so I don’t know why their driver was trying to expose that. The only other thing that is different between them is that NVIDIA does fall into Tier 2 class binding hardware instead of Tier 3 like AMD which requires a little bit more CPU overhead in D3D12, but I don’t think it ended up being very significant. This isn’t a vendor specific path, as it’s responding to capabilities the driver reports,” writes Oxide, in a statement disputing NVIDIA’s “misinformation” about the “Ashes of Singularity” benchmark in its press communications (presumably to VGA reviewers).
What’s even worse is that NVIDIA has been gaining market share in the past year, which means that the influence the company has is growing, while at the same time selling video cards with no support for Async Compute. In fact this practice can only leave us wondering what other features Maxwell doesn’t support and if these problems will persist in the future. By the way AMD’s video cards fully support this feature.