Le 14/04/2011 17:58, George Bosilca a écrit : > On Apr 13, 2011, at 20:07 , Ken Lloyd wrote: > > >> George, Yes. GPUDirect eliminated an additional (host) memory buffering step >> between the HCA and the GPU that took CPU cycles. >> > If this is the case then why do we need to use special memcpy functions to > copy the data back into the host memory prior to using the send/recv > protocol? If GPUDirect remove the need for host buffering then as soon as the > memory is identified as being on the device (using the Unified Virtual > Addressing), the device can deliver it directly to the network card. >
GPUDirect is only about using the same host buffer for DMA from/to both the NIC and the GPU. Without GPUDirect, you have a host buffer for the GPU and another one for IB (looks like some strange memory registration problem to me...), and you have to memcpy between them in the middle . We're all confused with the name "GPUDirect" because we remember people doing DMA directly between the NIC and a GPU or SCSI disk ten years ago. GPUDirect doesn't go that far unfortunately :/ Brice