固定在CUDA和cudamemcpy()中的内存

时间:2013-10-09 09:42:27

标签: cuda gpu gpgpu nvidia

据我所知,当主机和设备之间的复制操作使用cudaMemcpy启动时,主机指针会自动固定。那么有一个单独的API cudAHostAlloc()用于分配固定主机内存的含义和必要性是什么?

1 个答案:

答案 0 :(得分:3)

这两个操作不一样,传递给cudaMemcpy的主机指针不是“自动固定”。

对于从可分页存储器到设备的传输,host memory is copied to a staging buffer。然后,临时缓冲区是任何传输的目标。

这使得可分页内存的传输速度比固定内存缓冲区的传输速度慢(通常)。使用固定内存也allows for other possibilities,例如具有可由设备直接访问的映射内存,而无需显式(API级别)传输。