The writing has been on the wall for this decision ever since Nvidia announced the GTX 1080, but the company has finally made it official: Three and four-way SLI rigs won’t be supported with GTX 1080 and 1070 GPUs, save for “a select few applications.”
This news comes courtesy of PC Perspective, who spoke with Nvidia about the issue. While Nvidia isn’t requiring enthusiasts to acquire an “Enthusiast Key” to enable more than two-way SLI, it’s also dropping support from everything but, we imagine, the handful of popular applications typically used to break world performance records.
While the absolute die-hard, well-funded enthusiasts may be disappointed by this move, the fact is, it makes a great deal of sense. Multi-GPU configurations have never scaled well past two video cards, despite improved support for such configurations from Microsoft and a great deal of driver work from both AMD and Nvidia over the years. PC Perspective and PC Gamer both wrote articles on SLI scaling with the GTX 980 and 980 Ti respectively, and the story is the same with both GPUs — not only do frame times go to hell, but frame rates often increase marginally, if they increase at all.
The problems with multi-GPU development and driver development in general were explored very well in a post to GameDev.net. The author of the post, Promit, writes:
The first lesson is: Nearly every game ships broken. We’re talking major AAA titles from vendors who are everyday names in the industry. In some cases, we’re talking about blatant violations of API rules — one D3D9 game never even called BeginFrame / EndFrame. Some are mistakes or oversights — one shipped bad shaders that heavily impacted performance on NV drivers. These things were day to day occurrences that went into a bug tracker. Then somebody would go in, find out what the game screwed up, and patch the driver to deal with it. There are lots of optional patches already in the driver that are simply toggled on or off as per-game settings, and then hacks that are more specific to games — up to and including total replacement of the shipping shaders with custom versions by the driver team. Ever wondered why nearly every major game release is accompanied by a matching driver release from AMD and/or NVIDIA? There you go…
Multi GPU (SLI/CrossfireX) is [expletive deleted] complicated. You cannot begin to conceive of the number of failure cases that are involved until you see them in person. I suspect that more than half of the total software effort within the IHVs is dedicated strictly to making multi-GPU setups work with existing games. (And I don’t even know what the hardware side looks like.) If you’ve ever tried to independently build an app that uses multi GPU — especially if, god help you, you tried to do it in OpenGL — you may have discovered this insane rabbit hole. There is ONE fast path, and it’s the narrowest path of all.
When you start adding additional complexity in the form of three or four GPUs, you start slamming into multiple system bottlenecks, some of which may or may not be alleviated by DX12. On the plus side, DX12 gives you more CPU threads to work with, which could help with dispatching work. On the minus side, however, the new multi-GPU modes require explicit developer support (which means the developer is the one doing the heavy lifting), while the legacy modes may or may not provide the same scaling capabilities. That’s before we get into technical issues, like PCI Express bandwidth limitations or the increased overhead required to spin workloads out to more than two GPUs, only to put it all back together again.
While it’s unrelated to the rest of this post, Promit does address a topic that the enthusiast community has argued about for years: Was AMD responsible for the push towards next-generation APIs or not? Promit writes:
So … the subtext that a lot of people aren’t calling out explicitly is that this round of new APIs has been done in cooperation with the big engines. The Mantle spec is effectively written by Johan Andersson at DICE, and the Khronos Vulkan spec basically pulls Aras P at Unity, Niklas S at Epic, and a couple guys at Valve into the fold…
So the reason we’re seeing new APIs at all stems fundamentally from Andersson hassling the IHVs until AMD woke up, smelled competitive advantage, and started paying attention. That essentially took a three year lag time from when we got hardware to the point that compute could be directly integrated into the core of a render pipeline, which is considered normal today but was bluntly revolutionary at production scale in 2012. It’s a lot of small things adding up to a sea change, with key people pushing on the right people for the right things.
Just one person’s viewpoint, obviously, but an interesting bit of information all the same. As for three-and-four way SLI, we doubt many will mourn its passing — it’s just too difficult to combine workloads from multiple GPUs without screwing up frame times and damaging the overall user experience.