What's new

Microsoft's GPU Secret Sauce: DirectX 12 Multiadapter

GreyFox7

Super Moderator
Staff member
Seeking 2X:
Combining the power of both the integrated GPU with the NVIDIA dGPU.
Not either or, both together = 2X? Not quite...
DirectX 12 Multiadapter: Lighting up dormant silicon and making it work for you - DirectX Developer Blog - Site Home - MSDN Blogs
However, it's more than the dGPU by itself.

3730.multiadapter-dx12-ue4-2.png-550x1080.png


How does it work?
We recognized that most mixed GPU systems in the world were not making the most out of the hardware they had. So in our quest to maximize performance, we set out to enable separable and contiguous workloads to be executed in parallel on separate GPUs. One such example of separable workloads is postprocessing.

Virtually every game out there makes use of postprocessing to make your favorite games visually impressive; but that postprocessing work doesn’t come free. By offloading some of the postprocessing work to a second GPU, the first GPU is freed up to start on the next frame before it would have otherwise been able to improving your overall framerate.

Analyzing the results
The below image shows the real workload timeline of the Intel and NVIDIA GPUs (to scale). You can see how the workload that would normally be on the NVIDIA GPU is being executed on the Intel GPU instead.

In the demo, we even make use of DirectX 12’s Multiengine feature to complement the Multiadapter feature. You can see that the copy operations on NVIDIA’s copy engine execute in parallel with the NVIDIA 3D engine operations improving performance even more.



GPU workload timeline (to scale)

Taking a look at the Intel workload, we can see that we still have some unused GPU time that we can take advantage of. The final GPU utilization results were:

  • NVIDIA: ~100% utilization on average
  • Intel: ~70% utilization on average
Looking to the future, this tells us that the opportunity exists to extract even more performance out of the demo hardware.

For more details, take a look at Max McMullen’s talk at //build 2015 (when available):

http://channel9.msdn.com/Events/Build/2015/3-673

You can also take a look at a video of the actual benchmark here:

http://channel9.msdn.com/Blogs/DirectX-Developer-Blog/DirectX-12-Multiadapter-Unreal-Engine-4

Opening doors to new possibilities
DirectX 12 already helps you maximize performance by bringing apps closer to the metal. At //build 2015, we have shown you a glimpse of the performance possibilities with DirectX 12 and how it can light up that precious but dormant silicon already in your machine using Multiadapter.

The fine grained-control over ALL of the hardware in the system offered by DirectX 12 gives game developers the power to use techniques that were simply not possible in DirectX 11. Our Multiadapter demos only scratch the surface of what creative game developers can do now that they have the ability to directly use ALL of the graphics hardware in the system, even if such hardware has different capabilities and is from different manufacturers.

Further reading:
DirectX 12 Multiadapter Technology Allows Discrete and Integrated GPUs To Work Coherently - Demo Shows Big Performance Gains
 
Last edited:

kc912

Member
Interesting stuff and a 10% boost in FPS is certainly not insignificant. People (like me) spend a lot of money for a lot less. If it's coming or exists on the Surface Book it will be a great marketing feature. It won't make the difference for someone who needs desktop grade graphics performance but it might make some games more playable.
 

Cimmerian

Member
I was wondering if something like this was possible but never really had time to look it up, I personally believe when the surface book is release there will be new drivers and stuff that make the dgpu and the device run better than what we expect. Awesome stuff.
 

MOFO

Member
Very interesting read, nice find GreyFox7!
Now will this have to be programmed into games?
 
Top