这是 CUDA Global Memory 的后续问题,它在哪里? 参考 GSmith 的回应。这些 Q 解决了 CC > 2.0 的情况。
当我查找我的 Nvida 卡的规格时,它列出了 2GB 的“内存” 。我开始相信这是这张卡的“全球”内存。也就是说,这是驻留在“片外”但在卡上的 GDDR3 内存。这是正确的吗?
我没有看到任何规范的“内存”为零的情况。一个存在吗?也就是说,我可以有一张没有片外存储器的卡吗?我所有的纹理、本地和常量内存实际上都驻留在固定和映射的主机内存中。
我可以通过固定超过 2GB 的主机内存来扩展我的全局内存使用量吗?我可以使用我所有的片外全局内存 (2GB) 并添加 (1GB) 更多的全局固定内存吗?或者我是否理解这张卡最多只能提供 2GB 的寻址空间?即我只能访问 2GB 的内存、未固定、固定、映射或任何组合。
如果设备使用固定的主机内存(未映射),我是否需要从 dev 到主机的 Memcpy?也就是说,内存在物理上位于主机端。它正在被设备使用,所以他们都可以看到它。为什么我需要将它复制到主机,当它已经存在时。默认情况下,它似乎是“映射”的。(什么机制阻止了这种双重访问?)
如何将共享内存映射到全局内存?(我在文档中没有找到任何提及。)这是一个“映射”的安排,还是我仍然需要将它从全局复制到共享,然后再回来?(这可以为我节省复制步骤吗?)