AMD points to multi-GPU advances in Mantle, DX12

February 3, 2015 // 12:05 p.m.

Tags: #amd #direct3d #directx-12 #dx12 #gpu #graphics #mantle #multi-gpu #nvidia #robert-hallock #sli-crossfire

AMD has suggested that multi-GPU systems could soon unlock greater power from their graphics cards, thanks to the low-level access permitted by the company's Mantle API and Microsoft's upcoming vendor-agnostic DirectX 12.

While it's most common to find multiple GPUs installed in a system in the form of multiple graphics cards, both AMD and Nvidia have a habit of releasing high-end boards which feature two GPUs on one card. These offer increased performance, but slightly misleading specifications: while a card may be sold as featuring 8GB of RAM, and indeed it has 8GB of physical RAM chips on the board itself, the memory contents is mirrored between the GPUs - meaning 4GB of user-accessible memory in total.

At least, that's how it's typically worked. Robert Hallock, head of global technical marketing at AMD, has suggested that his company's low-level Mantle application programming interface (API) and Microsoft's upcoming DirectX 12 could change that. 'In a "normal" graphics API, a system called "alternative-frame rendering" is performed with multi-GPU,' Hallock explained in a post to social networking service Twitter. 'In order for this to function properly, both GPUs need a complete copy of what's going on in the game. Each GPU harbouring a complete copy of the game's data in RAM is why we don't get the combined RAM as a large pool. We "must" do this because most APIs don't give developers sufficiently explicit control to intelligently assign data to each frame buffer.

'Mantle is the first graphics API to transcend this behaviour and allow that much-needed explicit control. For example, you could do split-frame rendering with each GPU and its respective framebuffer handling 1/2 the screen,
' Hallock continued, seemingly ignoring the early days of 3dFX's SLI which did exactly that by giving each GPU alternate lines to render. 'In this way, the GPUs have extremely minimal information, allowing both GPUs to effectively behave as a single larger/faster GPU with a correspondingly large pool of memory. With Mantle, you could get very fine-grained, and start calling for specific objects to be assigned to each GPU. You have control of the individual GPU, and all functions/resources therein with Mantle.

'Ultimately, he [sic] point is that gamers believe that two 4GB cards can't possibly give you 8GB of useful memory. That may have been true for the last 25 years of PC gaming, but that's not true with Mantle, and it's not true with the low-overhead APIs that follow in Mantle's footsteps,
' Hallock concluded, referring to Microsoft's promise of low-level access capabilities across all vendor's GPU products in the upcoming DirectX 12.

Precisely when developers will begin to take advantage of these features to boost performance on multi-GPU setups remains to be seen, but with Mantle remaining an AMD exclusive at present it seems that it will take Microsoft's DirectX12 for interest to really pick up.
Discuss this in the forums