Over three years ago I did a video exploring on how to pair two GPU’s, those being Nvidia’s GTX 1050’s, which actually don’t support SLI multi-GPU pairing, but there was a trick on how to do that on an API based level with DX12, I went in to check if anything changed since then, because during that time, we only had one game that supported this kind of pairing.
Back in the day, Nvidia’s SLI and AMD’s Crossfire multi-GPU setups were something to wish for, something that would bring out the uuuu’s and wow’s, but with the time that slowly went away. It went away as all the moving parts in this chain had an on and off relationship between each other, because of which the whole experience became very iffy. Depending on the GPU generation, game, driver, and whatnot, the gaming experience would range from a pile of hot garbage to a pretty decent one, but bottom line, it was rarely consistent. As single GPU solutions started to grow with heir performance, with time people sort of lost interest or need in multi-GPU solution, while manufactures and game developers eventually begin to drift away from it. I feel like removing the official SLI feature from the GTX 1060, together with the GTX 1050 ti was the last straw, after which the multi-GPU linking technologies slowly begin to fade away.
Back when that started, as I said at the begging of the video, there’s was a game that supported pairing GPUs on an API level – Ashes of Singularity. Not only it supports the heterogeneous explicit way of multi-GPU pairing, so that’s without using any of the multi-GPU linking technologies, but it also supported scenarios where you could mix and match different GPU brands, so you could put Nivida’s GPU with AMD’s, the only thing that matter is that they support DirectX 12.
This possibility in the DirectX12 world of development is actually called the Multiadapter feature and it’s one of the rare examples you’ll see it being implemented.
I won’t be mix and matching today like that, as I’m going to try my luck with pairing two AMD’s GPU’s from RX 5600 XT series, so an RX 5600 XT crossfire setup, and two from RX 5700 XT, that being forming an RX 5700 XT crossfire setup, plus Ashes of Singularity was and still is a gem when it comes to that kind of Multiadapter pairing, no other game after that implemented anything similar to it, where you could put to work the green and the red team together in same a system for gaming purpose.
The state of the Crossfire
I’m not sure if this is going an example of homogeneous or heterogeneous explicit multiGPU pairing, because I am pairing two of the same cards, but technically speaking they’re not linked with some proprietary technology, like Nvidia’s SLI or NVLink, which is probably why AMD stopped calling it Crossfire, so one could say that this is an example heterogeneous explicit multiGPU pairing. Or maybe not, maybe it’s homogeneous because of the same models, it does make sense in that regards, but I’m not 100% sure how they apply this terminology in practice.
Short after that little adventure, I didn’t come across on any game that supports this type of heterogeneous explicit multiGPU Multiadapter configurations, there’s wasn’t that much interest in developing such a game or showcase, although it showed to be very promising, I assume it was just too much of a hassle to make them.
On the other hand, around that time, we did see some progress in DX12 multiGPU support when it comes to AMD’s and Nvidia’s cards, for example, the Rise of The Tomb Raider received a patch which enabled that and which works flawlessly as you’ll see later on.
As with time the official wide SLI and Crossfire support completely died down across the mainstream range of graphics card, it was getting obvious we had to rely on multiGPU gaming being executed on an API based level. This is where DX12 based games that had built in support for explicit multiGPU mode started to slowly rise up with, together with the same support within the Vulkan API which came a bit after. So, what does and how does any of this actually work?
The whole situation around the multiGPU configurations is now really weird to say at least, it’s neither here or there, rarely anyone is actually talking about it, which is competently understandable considering with what we are left with.
Although the Vulkan API above its 1.1 version does support multiGPU configurations, it’s still up to developers to actually implement it. For example, for a while, we had some rumors that 2016 Doom will have Vulkan based multiGPU support and although it did receive an update to that higher version of the Vulkan API that actually supports heterogeneous explicit multiGPU configurations, it turned out to be incorrect as it was never actually implemented, so in the end, it didn’t work as people tried to get it going. I’ve even tried it myself and the only thing I got was an even worse performance than with using just a single GPU. As for now, the only game that I managed to run in heterogeneous explicit multiGPU mode within the Vulkan API, was the Strange Brigade, but that’s the only one I personally own as there are few other Vulkan based games that officially support it.
RX 5700 XT Crossfire – Ultimate pair or a flop?
Overall the list of the DX12 and Vulkan API based games that support heterogeneous explicit multiGPU setup is somewhat decent, more so if you look at I t with knowing that certain versions of Vulkan and DX12 API’s do support its implementation, but for ones who actually do work, there’s little to no information on how they and do they actually perform, especially with Navi based GPU’s. For some reason there’s a very limited amount of information about this topic, for example, we just had the Tom Clancy’s new Ghost Recon Breakpoint that supports Vulkan besides DirectX11 API, and there’s no info on it if developers decided to use and implement the heterogeneous explicit multiGPU feature that the Vulkan API by default offer. Well, I have a quick answer to this question as got the game and tried first hand, and unfortunately no, it doesn’t have it, at least not for now in this version, but maybe it comes later on, who knows?
As I mentioned, the list is not that short, we have titles like Sniper Elite 4, Deus Ex Mankind Divided, latest Tomb Raider franchisee, Gears of War 4 and so on, but since there hasn’t been a lot of RX 5700 XT multiGPU testing, in general with the Navi RX 5000 series, I’ve decided to dig into it deeper and see how some of those actually perform.
The thing that confuses me about this whole situation is the fact that these games still don’t work out of the box, as drivers remain to have their part when it comes to actually enable the multiGPU setup. You still have to go into AMD’s control panel and actually soft enable that feature so to speak, which they now call mGPU with this generation instead of CrossFire. It seems like it’s still somewhat driver dependent on a certain level and not on an API only level like with Ashes, where you have to just tick a box within the game settings. I don’t know if that’s something that needs to be done on a driver level or is that something they just want to have control over?
On the other hand, this then begs the question of how does this work on Nvidia GPU’s? Since Nvidia still has it’s own working homogeneous explicit multiGPU linked environment, that being their NVLink SLI technology, there a lot of games that still support it, they don’t have a lot of newer gen graphics card models in lower tiers that have SLI support, so how do you get that working without the NVLink and SLI linking technology, but rather on the API level? It seems like that Nvidia still wants us to use their linking technology as a hardware bridge that’s needed in order to have a multi-GPU setups.
At this moment I didn’t have a pair of their newer gen GPU’s to try them out in this scenario, but either way as far as I know, at least officially, it has to be SLI / NVLink based in order to get the multiGPU options.
So, to sum it up – AMD does support heterogeneous explicit multiGPU pairing using DirectX12 and Vulkan API, you only need to soft enable it in drivers, while Nvidia still relies on linking technology and homogeneous explicit way of multiGPU pairing, you don’t have an option to go without it and just run a multiGPU configuration based solely on the API.
There’s a way to sort of due that with DifferentSLIAuto software tool, but I’ll leave that for some other video.
Before I continue, if you’re interested in checking out individually any of the cards featured in these tests, you can find them in my graphics cards reviews section, I’ll put a link to that in the right top corner of this video.
What about RX 5600 XT Crossfire?
As I said, Since I both had a couple of RX 5600 XT’s and RX 5700 XT’s, I’ve decided to give it a go and see what kind of performance output will you get when you set them up in a multi-GPU configuration with their own counterpart. The setup was straightforward easy, the only thing I needed to do is to of course install the drivers, and after that soft enable the mGPU option in AMD’s Adrenalin software, and that was it. As simple as that. So, let’s finally dive into the results.
Futuremark’s 3DMark and VRMark actually support multiGPU benchmarking with their DX12 based tests, that being the Time Spy within the 3DMark and Cyan Room in VRMark. As you can see, I got around 60% of performance increase over a single RX 5700 XT Pulse GPU in 3DMark, while in VRMark it was almost half of that. With RX 5700 XT it was almost the same So, that’s somewhat of a decent scaling in 3DMark, but not so much in VRMark. I wouldn’t mind seeing something similar to 3DMark results in games, and that was sort what I’ve stumbled upon, expect one anomaly.
That being the Hitman, which, instead of gaining performance, lost over half the original framerate compared to a single GPU setup, both in RX 5600 XT and RX 5700 XT. I honestly don’t know what happened here, I’ve tried everything, different drivers, doubled checked the settings, I don’t know if it was driver or software related, I just know I couldn’t get it to work as it should although it officially supports explicit multiGPU setups, you even have an option for that in the game itself. I’m sure it works with the previous RX 500 series, but seeing this now, it’s possible it doesn’t go further with the multiGPU support after that generation.
Oh yeah, if you’re interested in checking out this monster of a chassis, Fractal’s Define 7, be sure to subscribe, review of it is coming out soon!
Moving onto the other games, multiGPU scaling turned out to be of a mixed bag but mostly leaning toward a positive experience. For example, in the case of Deus Ex with the RX 5600 XT multiGPU got over double the performance gain, while the Strange Brigade showed to be well optimisted also, as it was known to be from before, and it delivered some really good gains both with Vulkan and DX12 API.
Overall the performance in games considering the load they went under was, weird to say at least. GPU-z was showing substantial and constant load, all the cards were pegged close to 100%, one of two would be maybe lagging just a bit, I wouldn’t say even lagging, oscillating more would be more precise.
Bottom line, beside Deus Ex’s outstanding multiGPU result in 4K with RX 5600 XT, which probably came in as a result of doubling the video memory size, on average I saw an increase in frames anywhere from 30 to 60%, which again, it’s not something that will blow you off your feet, but it’s respectable. The biggest problem, in this case, is that it’s hard to conclude anything sufficient since it all depends on what game are you playing.
Pairing RX 5600 XT and RX 5700 in Crossfire
I’ve also tried mix and matching RX 5600 XT with the RX 5700 XT, it worked as it did in other scenarios, and I got roughly around 20-30% of extra performance with adding RX 5600 XT on top of the RX 5700 XT. It’s far from perfect scaling, but it is cool to see that it works.
Looking at the load curve and load consistency in the GPUz for this particular case, you can see that the RX 5600 XT is being completely utilized, although it was set as a second card, while the RX 5700 XT utilization is all over the place, it’s like it let the RX 5600 XT do all the job for the most part, and the RX 5700 XT just tagged along and mimicked its performance.
Unfortunately, here I also stumbled upon another problem, that being the Strange Brigade, but only using the Vulkan API, It just crashes right before the menu appeared. Besides that problem, generally speaking, the whole testing didn’t go painless, for example, the Shadow of the Tomb Raider would also completely crash, couldn’t even start the test, and I’ve tried different drivers and systems, but thankfully the Rise of the Tomb Raider did work, so I managed to get some results out of it.
Other games also showed to be pretty unstable, they were crashing from time to time, which is definitely not on anyone’s wish list. The main problem, in my opinion, is that it can get very stuttery, accompanied by some screen tearing also. I wouldn’t say that this was unexpected, multi-GPU technologies aren’t easy to do deal with when it comes to that, now more so when there’s no real interest in them. All in all, not a great experience, definitely not worthy of buying and making it your daily driver combination.
The thing that started it all three years ago again got its installation place on my test rig. The newer Escalation edition of Ashes of singularity also supports DirectX12 explicit multi-GPU setup, but I couldn’t get it working at higher resolutions, it would just derp out on me, showing like 15 FPS results how many times I run the benchmark. I’ve tried running the previous version too, the one I’ve used for my last video, but that one would just crash.
Although many people consider multi-GPU configurations unnecessary, that is truly a great extent true, we’re also missing out on getting some unique experiences when it all works as it should, and possibly a great value for your money. What was cool back in the day, is that you could buy a last-gen on the cheap, pop it into your existing PC with the same GPU, and get a pretty decent performance jump. Putting that aside, where I now potentially see multi-GPU configuration being useful is with 4K resolution, but not for your regular 4K 60 HZ gaming, but rather high-refresh-rate 120, 144 Hz or more, where we don’t have a single GPU solution which can bring you that level of framerate output with everything being maxed out.
In conclusion, It’s really hard to tell what the future holds in this regard, what will happen with multiGPU solutions overall, at the moment it doesn’t look too bright, and until some special need arises, It’s very likely to stay more or less the same.
That’s it for this time, thanks for checking out my RX 5700 XT Crossfire and RX 5600 XT Crossfire comparison, if you have any question feel free to hit me in the comments section of my YouTube video listed above, you can contact me via my social media channels!