cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

nmanjofo
Journeyman III

OpenCL - GPU to GPU transfer

Jump to solution

Hello,

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.

Thank You!

0 Likes
1 Solution

Accepted Solutions
tzachi_cohen
Staff
Staff

Re: OpenCL - GPU to GPU transfer

Jump to solution

Peer-to-Peer communication is available for OCL using 'cl_amd_bus_addressable_memory' extension.

This extension is available on FirePro only products.

https://www.khronos.org/registry/cl/extensions/amd/cl_amd_bus_addressable_memory.txt

View solution in original post

0 Likes
6 Replies
dipak
Staff
Staff

Re: OpenCL - GPU to GPU transfer

Jump to solution

Hi,

I guess, AMD's DirectGMA (for Direct Graphics Memory Access) technology enables device to device transfer over PCI-Express without interacting with the host's main memory. AFAIK, DirectGMA is available on some AMD FirePro cards. However, I'm not aware of the full list of supported devices. Other than those, at present, GPU-GPU transfer has to go through via host memory. You may check following link to know about DirectGMA.

http://www.amd.com/Documents/SDI-tech-brief.pdf

Regards,

0 Likes
nmanjofo
Journeyman III

Re: OpenCL - GPU to GPU transfer

Jump to solution

Thanks for reply. So there is no way, even in OCL, to do direct GPU to GPU transfer using just Radeon cards?

0 Likes
dipak
Staff
Staff

Re: OpenCL - GPU to GPU transfer

Jump to solution

At least, I'm not aware of any other technique to do direct GPU to GPU transfer.

Regards,

nmanjofo
Journeyman III

Re: OpenCL - GPU to GPU transfer

Jump to solution

And will Mantle have such feature?

0 Likes
soconne
Staff
Staff

Re: OpenCL - GPU to GPU transfer

Jump to solution

Mantle does support GPU to GPU transfers.

0 Likes
tzachi_cohen
Staff
Staff

Re: OpenCL - GPU to GPU transfer

Jump to solution

Peer-to-Peer communication is available for OCL using 'cl_amd_bus_addressable_memory' extension.

This extension is available on FirePro only products.

https://www.khronos.org/registry/cl/extensions/amd/cl_amd_bus_addressable_memory.txt

View solution in original post

0 Likes