• Competitor rules

    Please remember that any mention of competitors, hinting at competitors or offering to provide details of competitors will result in an account suspension. The full rules can be found under the 'Terms and Rules' link in the bottom right corner of your screen. Just don't mention competitors in any way, shape or form and you'll be OK.

GPUOpen: CrossfireAPI11

Associate
Joined
7 Aug 2014
Posts
175
AMD have published some interesting documentation on how to program DX11 games with Crossfire in mind.

It includes some guidance on what various Crossfire modes do behind the scenes and goes into some detail on how data is transferred and updated between GPUs.

The documentation also suggests that AMD originally intended to call the Radeon Pro Duo the R9 Fury X2, as it makes reference to the latter!

GPUOpen Link:

http://gpuopen.com/gaming-product/crossfireapi11/

Documentation:

http://gpuopen-librariesandsdks.github.io/doc/AMD-CrossFire-guide-for-Direct3D11-applications.pdf

Github:

https://github.com/GPUOpen-LibrariesAndSDKs/CrossfireAPI11/
 
But, but why AMD can do it all from drivers? I joke
Proves my point even more, the devs are to blame if your game has poor crossfire support.
Lazy Devs or inexperienced Devs will give you worst mGPU and DirectX 12 will only make this harder/time consuming one would think.
Or maybe DirectX 12 is easier for Devs to support mGPU? Time will tell once we start seeing DirectX12 games built from ground up.
 
It certainly looks like the onus is on the dev to a certain extent.

What I found interesting is the difference between AFR Friendly and AFR Compatible. AFR friendly appears to alternately render without any resource checking (flickering galore probably). The AFR Compatible mode appears to have a best-effort approach using heuristics to decide what has to be copied through running a check on every resource.

Unfortunately checking every resource has its overheads and that's where a combination of the developer reducing dependency on previous frame data and a crossfire profile to tell the driver what it doesn't need to check is important for performance.

I'm guessing nvidia also has a similar system in its NVAPI for DX11. DX12 might be advantageous in that there is one programming interface for utilising multiple gpus without having to consider vendor specifics. On the other hand the opposite could be true being a lower level API closer to the metal.
 
Yeah the Pro Duo was going to be a gaming card and released months ago, but seen as they don't do Xfire anymore (as its dead now), they turned it into a VR developer card instead, and held its release back until the VR headsets got released.
 
Last edited:
Back
Top Bottom