cudaHostAllocMapped是否也在设备上分配缓冲区?

时间:2016-09-27 07:06:31

标签: c++ memory cuda pci-e

对于cudaHostAlloc()

The documentation表示在cudaHostAllocMapped标记处,它会在主机上分配固定内存并“将分配映射到CUDA地址空间”。是否意味着在设备上也分配了镜像缓冲区?在cudaHostAlloc()cudaHostGetDevicePointer()来电期间。 或者,每次访问cudaHostGetDevicePointer()

返回的指针时,设备是否与主机内存通信

这个问题与When to use cudaHostRegister() and cudaHostAlloc()? What is the meaning of "Pinned or page-locked" memory? Which are the equivalent in OpenCL?不同,因为我不问API是什么,何时使用它们或什么是固定内存。我特别询问是否在GPU上分配镜像缓冲区。

1 个答案:

答案 0 :(得分:3)

不,#34;镜像"缓冲区被分配。

当设备代码使用指向映射主机内存的指针时,使用该指针读取或写入的设备将生成PCIE流量,以将数据传输到主机内存或从主机内存传输到服务进行读取或写入。