the basic idea of DirectGMA is to expose a portion of the GPU memory and to make it accessible to any device on the bus. Vice versa devices that support DirectGMA need to expose a portion of their visible memory as well and allow the GPU to write into this memory. On the application level we provide API support in OpenGL, OpenCL and DX. The API will allow you to query the physical addresses of the so called bus_addressable_memory buffers on the GPU. Those addresses can be passed to the driver of the FPGA and the FPGA can then dma into the GPU memory.
Do you want to use DirectGMA with OpenGL, OpenCL or DX?
To share detailed information on the driver requirements we need to get a NDA.signed. If it is ok for you I will contact you outside the forum and put you in contact with our partner manager to work on the NDA.
I'm also looking for DirectGMA documentation for OpenCL. Any chance you can get me in contact with the relevant parties?
I attached you the OpenCL extension specification for DirectGMA and some sample code that shows how to use the extension. The sample does a GPU to GPU copy using DirectGMA. To run it you will need to have 2 FirePro GPUs installed an enable DirectGMA on both of them.