2

GPU中的常量内存和纹理内存是如何实现的?我知道设备内存不在流式多处理器上,并且是 DRAM。共享内存是片上的,可能是 SRAM。

我还在某处读到,参数通过常量内存传递给内核(即,内核函数的参数从 CPU 复制到 GPU 常量内存)。它是否正确?

4

1 回答 1

5

纹理内存和常量内存分配在全局内存使用的片外内存中,但通过专用硬件访问。两种内存都有自己的缓存空间(非常小)和特殊功能,例如用于 2D 纹理内存的 2D 预取或用于常量内存的广播。

内核参数存储在 Fermi 和 Kepler GPU 的常量内存中,在较旧的 G80/90/200 GPU 上,它们存储在共享内存中。

有关缓存大小和那些特殊功能的更多详细信息,请参阅 CUDA C 编程指南。

于 2012-06-28T15:27:25.153 回答