One of the highlights of DirectX 12 is its explicit multi-adapter support, which lets you harvest various GPUs for accelerated rendering performance. Unlike SLI or CrossFire, it is vendor agnostic and can combine the performance of any GPU with that of another instead of having to work with GPUs of the same architecture or a set of similar performance characteristics. All you need is DirectX 12 API support.
In DirectX 12, each video card has its own unique memory storage, which is unlike SLI or CrossFire where everything is mirrored. Gone are the days where the total video memory your 3D app could see is that of a single card. Two 4 GB cards make 8 GB of usable video memory and not two copies of 4 GB, for example. Microsoft innovated a new method of rendering with multiple GPUs called "Split Frame Rendering" (SFR). This breaks the 3D scene into tiles each GPU renders. The best part? Resources need not be perfectly mirrored between the two GPU systems, and as such, they have independent memory pools which add up to the machine's total available video memory.
Another key DirectX 12 feature is asynchronous shaders (async shaders). This feature allows a GPU's SIMD number-crunching resources to be optimally utilized.