3

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

  1. 是否有任何可用的示例(psudo)代码来演示这个概念?

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

4

1 回答 1

7

统一的虚拟地址空间将设备代码中使用的指针(值)和分配映射与主机代码中使用的指针(值)和分配映射组合到一个统一的空间中。

1-是否有任何可用的示例(psudo)代码来演示这个概念?

如何使用它的一个例子是使用cudaMemcpyDefault 转移种类说明符,代替cudaMemcpyDeviceToHostcudaMemcpyHostToDevicecudaMemcpy 操作中。

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

32 位机器的最大可寻址空间为 4 GB。在现代 GPU(可能具有数 GB 的内存)和现代 PC(可能具有数 GB 的内存和 I/O 空间)中,这并不足以方便地在其中定义主机和设备内存空间。

于 2013-10-04T17:15:46.130 回答