在哪里可以找到有关使用CUDA 4.0中的新增强功能的信息/变更集/建议?我对了解统一虚拟寻址特别感兴趣。
注意:我真的很想看到一个例子,因为我们可以直接从GPU访问RAM。
发布于 2011-03-10 01:00:01
是的,使用主机内存(如果这就是你所说的RAM)很可能会减慢你的程序,因为GPU的传输需要一些时间,而且受到RAM和PCI总线传输速率的限制。尽量将所有内容都保存在GPU内存中。上传一次,执行内核一次,下载一次。如果你需要更复杂的东西,试着在流中使用异步内存传输。
据我所知,“统一虚拟寻址”实际上更多的是使用多个设备,从显式内存管理中抽象出来。把它想象成一个单独的虚拟GPU,其他的都是有效的。
通过设备映射内存,已经可以自动使用主机内存。请参阅nvidia cuda网站上参考手册中的cudaMalloc*。
发布于 2011-03-10 15:21:57
CUDA 4.0 UVA (统一虚拟地址)无法帮助您从CUDA线程访问主内存。与以前的CUDA版本一样,您仍然需要使用CUDA API映射主内存,以便从GPU线程直接访问,但如上所述,这会降低性能。同样,您不能仅通过取消引用指向设备内存的指针来从CPU线程访问GPU设备内存。UVA仅保证地址空间不会跨多个设备(包括CPU内存)重叠,并且不提供一致的可访问性。
https://stackoverflow.com/questions/5249158
复制相似问题