I am working on a DirectX 11 (might possibly port to other APIs) application utilizing multiple GPU's for rendering and I need a mechanism to exchenge data between them. Because Mantle is still not out, I need to opt for some other API to handle the data transfers.
I've noticed that OpenCL allows hooking DX resources as OCL buffers, which is great. The questions are
1. Is it possible, using two 290X's (ideally any AMD or just any two cards) to copy a buffer from one device to another?
2. If yes and provided that they are both from AMD, do the data travel directly from GPU to GPU (like direct DMA), or the main memory is used?
I know that nV supports this only on Quadro/Tesla cards and only in CUDA, which is not something I'm looking for.