有关CUDA中统一虚拟寻址(UVA)的信息/示例

时间:2013-10-04 17:08:15

标签: cuda gpu nvidia

我正在尝试理解CUDA中统一虚拟寻址(UVA)的概念。我有两个问题:

  1. 是否有可用于演示此概念的示例(psudo)代码?

  2. 我在CUDA C编程指南中读到,UVA只能用于64位操作系统。为什么会这样?

1 个答案:

答案 0 :(得分:7)

unified virtual address space将设备代码中使用的指针(值)和分配映射与主机代码中使用的指针(值)和分配映射合并为一个统一的空间。

  

1 - 是否有可用于演示此概念的样本(psudo)代码?

如何使用此示例的一个示例是使用cudaMemcpyDefault transfer kind specifier代替cudaMemcpyDeviceToHost cudaMemcpyHostToDevicecudaMemcpy {{1}} {{} 3}}

  

2 - 我还在编程指南中读到它只与64位操作系统相关联。为什么会这样?

32位计算机的最大可寻址空间为4 GB。在现代GPU(可能有几千兆字节的内存)和现代PC(可能有几千兆字节的内存和I / O空间)中,这个空间不足以同时在其中定义主机和设备内存空间。