cudaHostAllocMapped 是否也在设备上分配缓冲区?
Does cudaHostAllocMapped also allocate a buffer on the device?
The documentation for cudaHostAlloc()
表示使用 cudaHostAllocMapped
标志在主机和 "Maps the allocation into the CUDA address space" 上分配固定内存。这是否意味着在设备上也分配了镜像缓冲区?在 cudaHostAlloc()
或 cudaHostGetDevicePointer()
通话期间。
或者设备是否在每次访问 cudaHostGetDevicePointer()
返回的指针时与主机内存通信?
这个问题与不同,因为我不问API是什么,什么时候使用它们或者什么是pinned memory。具体问一下GPU上有没有分配镜像缓冲区
未分配 "mirror" 缓冲区。
当设备代码使用指向映射主机内存的指针时,使用该指针读取或写入的设备将生成 PCIE 流量以传输数据 to/from 主机内存,为读取或写入服务。
The documentation for cudaHostAlloc()
表示使用 cudaHostAllocMapped
标志在主机和 "Maps the allocation into the CUDA address space" 上分配固定内存。这是否意味着在设备上也分配了镜像缓冲区?在 cudaHostAlloc()
或 cudaHostGetDevicePointer()
通话期间。
或者设备是否在每次访问 cudaHostGetDevicePointer()
返回的指针时与主机内存通信?
这个问题与
未分配 "mirror" 缓冲区。
当设备代码使用指向映射主机内存的指针时,使用该指针读取或写入的设备将生成 PCIE 流量以传输数据 to/from 主机内存,为读取或写入服务。