AMD Introduces DirectGMA on AMDs FirePro GPUs
AMD has introduced DirectGMA for their AMD FirePro W5x00 graphics cards and above and for all AMD FirePro S series products, as well as some embedded products, to be able to exchange data efficiently between different devices like GPUs, FPGAs, etc. DirectGMA exposes a part of the GPU memory and makes it accessible to other devices on the bus. By knowing the address of the exposed memory, any device that supports DirectGMA can write directly into GPU memory and vice versa the GPU can write into the memory of a peer device instead of transferring the data to system memory first. This mechanism can be used to exchange data between AMD FirePro GPUs and third devices or to do peer-to-peer transfers between multiple AMD FirePro GPUs in one system. With today’s PCIE 3.0 technology, DirectGMA is an efficient way of transferring data at very low latency, according to Bruno Stefanizzi is Senior Manager Software Development at AMD.
One example of efficient use of DirectGMA is live video processing. DirectGMA is widely supported by SDI video I/O PCIe board vendors, enabling their SDI devices to stream video directly into and from GPU memory. The GPU can process the video stream and write it back into the memory of the SDI device that will finally display the processed frame.
Other use cases are the peer-to-peer data exchange between GPUs to combine their processing power for complex compute tasks or the support of network adapters to allow low latency data exchange in a compute cluster.
Another parameter is the API support for developers to integrate this into their application and workflows. DirectGMA is supported on OpenCL, OpenGL, DirectX 9, DirectX 10 and DirectX 11.
The OS support is also interesting since DirectGMA supports Linux 64bit as well as Windows 7 64bit.
AMD's partners are already using DirectGMA, and new areas are more and more able to get the benefits of it from heterogeneous hardware architectures with a mix of FPGAs and GPUs.
For more technical details, read this presentation (PDF).