它明确提到 Tegra TX1 具有共享内存。我的问题: CPU 和 GPU 之间是否共享内存?或者是GPU中不同块之间共享的内存。
问问题
1643 次
2 回答
3
CPU 和 GPU 具有相同的内存系统。也就是说,系统 DRAM 内存也与分配 GPU 全局内存的物理内存相同。各种技术,例如零拷贝和统一内存,大部分也可以消除系统内存数据和 GPU 全局数据之间的逻辑区别。
此外,Tegra TX1 中的 GPU 与所有支持 CUDA 的 GPU 一样,具有 CUDA 共享内存。这是在特定块中的线程之间共享的内存,但它不在 GPU 中的不同块之间共享。GPU 中不同块之间共享的主要内存系统是全局内存系统,如前所述,它在 Tegra TX1 上(在物理上)与系统 DRAM 内存相同。
于 2016-06-29T19:25:07.617 回答
0
如果您已经使用 cudamalloc() 分配了内存块,那么是。它成为CPU 和 GPU 之间自动共享的全局内存。
请不要将其与名为“Shared MEM”的 CUDA本地内存混淆。{在同一个 BLOCK 的线程之间共享}。
请记住:CUDA 中的“共享内存”是GPU 的 SM 单元内的TURBO 速度 可编程缓存!:-)
于 2016-12-19T22:29:41.740 回答