Hello guys, I have been tasked to create an FPGA-based PCIe card that will leverage DirectGMA with a FirePro in the same PCIe network (similar to AJA, Bluefish,...etc). I have looked around, but I am having difficulty finding documentation on how to develop the code to transmit information from the GPU to another device on the PCIe network. I am also having trouble finding the board specific compatibility specifications. Are there any forms of indepth documentation on how I can access the GPU physical memory from a peripheral device? and how to issue PCIe TLP writes to the peripheral? How does DirectGMA handle the address translation from a virtual memory to GPU physical memory perspective?
Thank you for any help you can offer
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.