Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 关于CUDA统一虚拟内存的困惑_C++_C_Cuda - Fatal编程技术网

C++ 关于CUDA统一虚拟内存的困惑

C++ 关于CUDA统一虚拟内存的困惑,c++,c,cuda,C++,C,Cuda,我对统一虚拟内存有些困惑 链接()后面的文档说它可以在以下情况下使用 当应用程序作为64位进程运行时,主机和计算能力为2.0及更高版本的所有设备使用一个地址空间 但是这个链接()说它需要: 具有SM架构3.0或更高版本(开普勒类或更高版本)的GPU 此外,第一个链接说我可以使用cudaHostAlloc。第二个则使用cudamalocmanaged 这个“统一”术语之间有两个不同的方面,还是文档有点不连贯?您指的是统一虚拟地址空间,它与CUDA 6.0和架构3.0或更高版本引入的统一内存不同,不

我对统一虚拟内存有些困惑

链接()后面的文档说它可以在以下情况下使用

当应用程序作为64位进程运行时,主机和计算能力为2.0及更高版本的所有设备使用一个地址空间

但是这个链接()说它需要:

具有SM架构3.0或更高版本(开普勒类或更高版本)的GPU

此外,第一个链接说我可以使用
cudaHostAlloc
。第二个则使用
cudamalocmanaged


这个“统一”术语之间有两个不同的方面,还是文档有点不连贯?

您指的是统一虚拟地址空间,它与CUDA 6.0和架构3.0或更高版本引入的统一内存不同,不需要从主机到设备进行显式数据传输

您还可以检查:


UVA和UM/UVM是两种不同的东西。但是,当我仍然需要手动复制数据时,统一虚拟地址空间有什么意义呢?我不认为“没有统一的虚拟地址空间”有什么好处。@Michael:请检查[这个][1]和[这个][2]。[1]: .[2]: