【发布时间】:2015-05-14 20:28:33
【问题描述】:
我对统一虚拟内存有些困惑。
链接后面的文档 (http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#unified-virtual-address-space) 说它可以在以下情况下使用...
当应用程序作为 64 位进程运行时,单个地址空间用于主机和计算能力为 2.0 及更高版本的所有设备。
但是这个链接 (http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#um-requirements) 说它需要:
具有 SM 架构 3.0 或更高版本(Kepler 类或更高版本)的 GPU
此外,第一个链接说我可以使用cudaHostAlloc。然后第二个使用cudaMallocManaged。
这个“统一”术语之间是否有 2 个不同的东西,或者文档只是有点不连贯?
【问题讨论】:
-
UVA 和 UM/UVM 是两个不同的东西。