Explicit multi-GPU

One of the interesting new features covered by Direct3D 12 is explicit multi-adapter, allowing multiple GPUs to be used for rendering work. Direct3D 11 compatible solutions used to alternate frames in rendering or having one of the GPUs render one part of the screen while other GPUs render other parts of the screen. This method of Multi-GPU was implemented in the driver, and the application programmer had very little in the ways of influence in what work was offloaded, the driver instead mirroring all resources and workload.

In Direct3D 12, devices can be created for multiple adapters. These different devices can be independently operated and data from the devices can be shared between devices. This allows one GPU to work on shadows while the other GPU does occlusion culling for the main camera, allowing independent graphics tasks to run in parallel rather than serially.

While Vulkan has the potential to include this feature due to the similar API structure, at the point of the current SDK version (1.0.15.0) this does not appear to be implemented in the API.