首页 文章

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

提问于
浏览
2

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

1 回答

  • 3

    这两个操作不相同,传递给 cudaMemcpy 的主机指针不是"pinned automatically" .

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

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

相关问题