Monday, October 26th 2015
DirectX 12 Mixed Multi-GPU: It Works, For Now
One of biggest features of DirectX 12 is its asymmetric multi-GPU that lets you mix and match GPUs from across brands, as long as they support a consistent feature-level (Direct3D 12_0, in case of "Ashes of the Singularity"). It's not enough that you have two DirectX 12 GPUs, you need DirectX 12 applications to make use of your contraption. Don't expect your older DirectX 11 games to run faster with a DirectX 12 mixed multi-GPU. Anandtech put Microsoft's claims to the test by building a multi-GPU setup using a Radeon R9 Fury X, and a GeForce GTX 980 Ti. Some interesting conclusions were drawn.
To begin with, yes, alternate-frame rendering, the most common multi-GPU method, works. There were genuine >50% performance uplifts, but nowhere of the kind you could expect from proprietary multi-GPU configurations such as SLI or CrossFire. Second, what card you use as the primary card, impacts performance. Anandtech found a configuration in which the R9 Fury X was primary (i.e. the display plugged to it), and the GTX 980 Ti secondary, to be slightly faster than a configuration in which the GTX 980 Ti was the primary card. Mixing and matching different GPUs from the same vendor (eg: a GTX 980 Ti and a GTX TITAN X) also works. The best part? Anandtech found no stability issues in mix-matching an R9 Fury X and a GTX 980 Ti. It also remains to be seen how long this industry-standard utopia lasts, and whether GPU vendors find it at odds with their commercial interests. Multi-GPU optimization is something both AMD and NVIDIA spend a lot of resources on. It remains to be seen how much of those resources they'll be willing to put on a standardized multi-GPU tech, and away from their own SLI/CrossFire fiefdoms. Read the insightful article from the source link below.
Source:
AnandTech
To begin with, yes, alternate-frame rendering, the most common multi-GPU method, works. There were genuine >50% performance uplifts, but nowhere of the kind you could expect from proprietary multi-GPU configurations such as SLI or CrossFire. Second, what card you use as the primary card, impacts performance. Anandtech found a configuration in which the R9 Fury X was primary (i.e. the display plugged to it), and the GTX 980 Ti secondary, to be slightly faster than a configuration in which the GTX 980 Ti was the primary card. Mixing and matching different GPUs from the same vendor (eg: a GTX 980 Ti and a GTX TITAN X) also works. The best part? Anandtech found no stability issues in mix-matching an R9 Fury X and a GTX 980 Ti. It also remains to be seen how long this industry-standard utopia lasts, and whether GPU vendors find it at odds with their commercial interests. Multi-GPU optimization is something both AMD and NVIDIA spend a lot of resources on. It remains to be seen how much of those resources they'll be willing to put on a standardized multi-GPU tech, and away from their own SLI/CrossFire fiefdoms. Read the insightful article from the source link below.
55 Comments on DirectX 12 Mixed Multi-GPU: It Works, For Now
I dunno what it is. Probably a mixture of a lot of things. Perhaps part of it's due to the fact that GCN is designed from the ground up to work in parallel and none of NVIDIA's are.
The irony is, 'Physx' was over hyped and under utilised. Pretty effects that got boring real quick.
With this set up, I don't think a driver level hack will help Nv's cause. I imagine the DX12 API might require certain basic driver features to run the hardware as 'bare' as possible. It might hurt Nvidia's performance if they intentionally hobble certain DX12 feature abilities.
If we look at W1zzards review the average scaling is around 65%. granted this is Nano + Nano at 64% and Nano + Fury X at 66%
Looking at the agnostic tech its scaling without Crossfire is about the same as AMD's xfire scaling at 4k across the board = impressive. Add to that Fury X + 980Ti gives a 75% increase of Fury X = a performance increase in multi GPU thats technically higher than the Crossfire average. Not to say that Crossfire doesn't scale better after all its dependent upon title but this would point to the fact that its possible for the DX12 multiGPU option of being just as efficient as the proprietary technologies. And its baked into DX12. Meaning if developers implemented it Multi-GPU users wouldnt have to wait on AMD or Nvidia for profiles. Profiles would basically only be necessary for legacy apps.
Games to tend to scale between 40-90% with the dominant average being 65-75%. If an agnostic API can without drivers offer 65-75% thats pretty good. Even better if frame time variance improves because relying on AMD's drivers for that is very hit of miss lol. On top of that being able to mix and match does offer some leeway for the various game tech that both companies push. Its all a pipe dream really but a Fury X + 980Ti seems to offer better performance scaling than 2x AMD cards with better frame time variance. But without a conclusive SLI and Xfire comparison its a bit moot i suppose.
That's my understanding of it from the AT article anyways.
Bare in mind that it is pretty doubtful most games will even be coded to use multiple GPUs outside of Crossfire/SLI. I suspect the only reason why they did it was because of all the publicity the game got from the async compute discovery. Playing with Direct3D 12 has been a great way for them to promote the game.
I'm more interested to see asymmetric processing than alternative frame, and obviously it has to be cross vendor. In this way if you upgrade for let's say 30% more performance, you can still use the old card to process maybe 40% of the objects and the new one to process the rest of them and compose the final image.
This would be a much better alternative than just selling the old card for pennies.
And they showed this capability of DX12 as well, with an APU processing some objects and an add in card processing the rest of the image.
Can one use NVidia GPU accelerated hairworks + physx and AMD FreeSync in such a setup at the same time?