Modernizing multi-GPU gaming with XDMA

Blog Post created by samantha.davis on May 11, 2015

A lesser-known feature of the AMD Radeon™ R9 290 and R9 290X is a new technology called AMD CrossFire™ Direct Memory Access, or “XDMA” for short. XDMA is a modernization of multi-GPU configurations that totally overhauls how these many GPUs communicate with one another and stay synchronized during intense gaming. Today we will explore how the feature functions, what problems it solves, and what scenarios it’s designed to accommodate.


Before we explore the drastic improvements presented with XDMA, however, we should first start by exploring the old way of performing multi-GPU communication.


Intenal Components.pngTHE OLD WAY OF DOING MULTI-GPU


Prior to the advent of XDMA, a “bridge” or “connector” of some fashion was required. This bridge was installed on the exterior of a graphics card, fitting onto small golden fingers protruding from the circuit board of the graphics card. You can see the connector to the right, where it has been installed on two AMD Radeon™ HD 7970 GHz Edition GPUs .


An external bridge was considered a modern solution that gave two (or more) GPUs the ability to communicate on a very important task: copying data between the GPUs to show you a rendered frame of your favorite game.


While the external bridge has been an effective multi-GPU solution for many years in the graphics industry, we are coming on an era when that is no longer the case. To wit, the bandwidths provided by today’s bridge solution are insufficient to fully accommodate the new generation of high-resolution 4K displays. As the AMD Radeon R9 290 and R9 290X are designed with this resolution in mind, it was time to bring in a fresh approach to multi-GPU systems.




Picture7.pngAt a principle level, XDMA dispenses with the external bridge by opening a direct channel of communication between the multiple GPUs in a system. This channel operates over the very same PCI Express® bus in which your AMD Radeon graphics cards are currently installed. The exclusive function of that bus is to shuttle graphics data between GPUs and your processor, so it’s already well suited to the new task of collecting and showing the data each GPU is working on when playing games.


It just so happens that the PCI Express bus also provides a tremendous amount of bandwidth—far more than can be allocated to today’s external bridges! As noted by Anandtech in their comprehensive analysis of XDMA, the bandwidth of an external bridge is just 900MB/s, whereas PCI Express® can provide up to 32GB/s with a PCIe 3.0 x16 slot (about 35x more bandwidth).


In dynamically taking a portion of that superhighway to negotiate rendering with multiple GPUs, AMD CrossFire can efficiently negotiate UltraHD scenarios. This is one of the many reasons why we say that the AMD Radeon R9 290 and R9 290X are uniquely suited, at a hardware level, for gaming at 3840x2160.


Diving more deeply into the technology, XDMA specifically and directly connects the “display controllers” on the respective GPUs in an AMD CrossFire configuration. These display controllers are responsible for taking a rendered scene in a game from the GPU pipeline and formatting it to send over the display cable to a monitor. XDMA provides an easier and more extensible method of transferring the frame from the GPU it was rendered on, to the GPU driving the display cable, using the high bandwidth of PCIe, while avoiding extra connectors and cables.




Rather than dig through more technical jargon, we wanted to jump to some essential facts that we wanted you to know about this great technology:

  • XDMA is a unique solution in the graphics industry; no similar technologies presently exist for consumer GPUs.
  • In case you didn’t catch it, XDMA eliminates the need to install any bridge. Install matching GPUs and you’re set!
  • XDMA is designed for optimal performance with systems running PCI Express 2.0 x16 (16GB/s), PCI Express 3.0 x8 (16GB/s), or PCI Express 3.0 x16 (32GB/s).
  • Bandwidth of the data channel opened by XDMA is fully dynamic, intelligently scaling with the demands of the game being played, as well as adapting to advanced user settings such as vertical synchronization (vsync).
  • Designed for UltraHD via DisplayPort™, which permits for 2160p60 gaming on the AMD Radeon R9 290 Series.
  • XDMA fully supports the “frame pacing” algorithms implemented into the AMD Catalyst™ driver suite.
  • Products without XDMA are scheduled to receive a new AMD Catalyst driver in January that will resolve uneven frame pacing as a symptom of the more limited bandwidth provided by an external bridge.

In short, XDMA is the world’s newest and most modern approach to negotiating the communication of multiple GPUs for peak gaming performance with the ultra-high-resolution displays of tomorrow.

Robert Hallock is PR Manager for Gaming & Desktop Graphics at AMD.  His postings are his own opinions and may not represent AMD’s positions, strategies or opinions. Links to third party sites, and references to third party trademarks, are provided for convenience and illustrative purposes only.  Unless explicitly stated, AMD is not responsible for the contents of such links, and no third party endorsement of AMD or any of its products is implied.

*Originally posted by Robert Hallock in AMD Gaming on Jan 3, 2014 11:20:00 AM