Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
GPU中的常量内存和纹理内存是如何实现的?我知道设备内存不在流式多处理器上,并且是 DRAM。共享内存是片上的,可能是 SRAM。
我还在某处读到,参数通过常量内存传递给内核(即,内核函数的参数从 CPU 复制到 GPU 常量内存)。它是否正确?
纹理内存和常量内存分配在全局内存使用的片外内存中,但通过专用硬件访问。两种内存都有自己的缓存空间(非常小)和特殊功能,例如用于 2D 纹理内存的 2D 预取或用于常量内存的广播。
内核参数存储在 Fermi 和 Kepler GPU 的常量内存中,在较旧的 G80/90/200 GPU 上,它们存储在共享内存中。
有关缓存大小和那些特殊功能的更多详细信息,请参阅 CUDA C 编程指南。