I am planning to create a codesign between FPGA and GPU using OpenCL on both using these platforms:
- Bittware S5-PCIe-HQ board with Intel FPGA Stratix V FPGA, conformant to OpenCL 1.0 spec and some points of newer specifications (already bought);
- Radeon Pro WX4100 GPU (not bought yet, therefore open to suggestions);
- Host computer is a DELL Precision Workstation running CentOS.
I want both devices to communicate without using the host memory. I've seen that DirectGMA is the way to go (I have an NVIDIA card but GPUDirect only works with CUDA, boo-hoo). Looking through some topics on this forum (DirectGMA Documentation , DirectGMA between a FPGA and GPU ) and this brief post (Bloerg: Interfacing OpenCL with PCIe devices ) I've got a brief idea, however none of these topics apparently used OpenCL on the FPGA side. Apparently the FPGA->GPU side is somewhat trivial. However, my question is: what does the FPGA board needs to be compatible with DirectGMA in an OpenCL context for GPU->FPGA communication? Should suffice if the FPGA board can expose its global memory's physical address (and then pass this address accordingly to the GPU driver)?