Microsoft Corp. has revealed first details about its cross-vendor multi-GPU technology supported by its upcoming DirectX 12 application programming interface. As reported, the new tech allows using graphics processing units developed by different companies to work together. However, there is a catch: applications should be designed to support the Multiadapter feature and real-world performance benefits of the new tech are projected to be rather modest.
The DirectX 12 is a low-level/high-throughput API, which has a close-to-metal access to GPU and CPU resources. Low-level access to hardware allows to split the rendering workload across different graphics processors. Since in many cases multi-GPU technologies require synchronization between different graphics chips, which is not an easy thing to do even in hardware, Microsoft proposes to use its Multiadapter for separable and contiguous workloads. One example of separable workloads is post-processing (i.e., antialiasing, depth-of-field, etc.).
If an application “knows” how to render a scene on one GPU and post-process it on another, once it detects two graphics processors, it can use both. For example, millions of modern gaming personal computers powered by mainstream Intel microprocessors feature Intel integrated graphics cores in addition to discrete graphics cards. At present integrated graphics engines are not used for rendering, but future apps that can take advantage of the Multiadapter technology will be able to use those integrated graphics cores for separable and contiguous workloads.
“Virtually every game out there makes use of post-processing to make your favorite games visually impressive, but that post-processing work doesn’t come free,” explained Andrew Yeung, a program manager in the Microsoft graphics team. “By offloading some of the post-processing 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.”
To demonstrate the benefits of its Multi-adapter technology, Microsoft benchmarked two test systems in a DX12 Unreal Engine 4-based Elemental benchmark. One PC was equipped with a single Nvidia GeForce GTX graphics card, whereas another featured the same board and an Intel integrated graphics processing unit. The Multi-adapter system scored 39.7 frames per second, whereas the PC with one graphics card scored 35.9 fps. 10 per cent difference is clearly not something big, but in certain cases even small performance gains may be important. Microsoft claims that utilization of Intel’s GPU was about 70 per cent, which means that eventually even more performance could be extracted.
Usage of heterogeneous multi-GPU is not limited to post-processing. Secondary GPUs could be used for other workloads as well. However, the applications should be Multiadapter-compatible to use cross-vendor multi-GPU configurations. Microsoft did not reveal whether it was easy or hard to add Multiadapter support to programs. As a result, it is unclear whether game developers will actually use the technology to improve performance.
One thing that should be noted is that Multi-adapter is not a technology designed solely to boost performance of multi-GPU systems. The Multi-adapter tech allows to precisely assign different workloads on different GPUs, something that could open doors to never-before-seen rendering methods.
Discuss on our Facebook page, HERE.
KitGuru Says: In theory, Microsoft’s Multiadapter technology should provide a number of interesting technological opportunities. Its adoption by game developers will depend on the cost of its implementation and actual benefits. 10 per cent performance boost is good for game consoles, but for PCs it may not make a lot of sense for game developers.