在哪里可以找到有关CUDA 4.0中统一虚拟寻址的信息?

时间:2011-03-09 16:47:38

标签: cuda

在哪里可以找到有关在CUDA 4.0中使用新增强功能的信息/变更集/建议?我对学习统一虚拟寻址特别感兴趣吗?

注意:我真的希望看到一个例子,我们可以直接从GPU访问RAM。

2 个答案:

答案 0 :(得分:3)

是的,使用主机内存(如果你的意思是RAM)很可能会降低你的程序速度,因为往返GPU的转移需要一些时间,并受到RAM和PCI总线传输速率的限制。尽量将所有内容保存在GPU内存中。上传一次,执行内核,下载一次。如果您需要更复杂的东西,请尝试使用带流的异步内存传输。

据我所知,“统一虚拟寻址”实际上更多地是关于使用多个设备,从显式内存管理中抽象出来。将其视为单个虚拟GPU,其他一切仍然有效。

设备映射内存已经可以自动使用主机内存。请参阅nvidia cuda网站上的参考手册中的cudaMalloc *。

答案 1 :(得分:2)

CUDA 4.0 UVA(统一虚拟地址)无法帮助您从CUDA线程访问主内存。与之前版本的CUDA一样,您仍然需要使用CUDA API映射主内存以便从GPU线程直接访问,但如上所述,它会降低性能。同样,只需取消引用指向设备内存的指针,就无法从CPU线程访问GPU设备内存。 UVA仅保证地址空间不会跨多个设备(包括CPU内存)重叠,并且不提供连贯的可访问性。