CUDA 中的常量内存、纹理内存和全局内存
Posted
技术标签:
【中文标题】CUDA 中的常量内存、纹理内存和全局内存【英文标题】:Constant Memory vs Texture Memory vs Global Memory in CUDA 【发布时间】:2012-01-08 13:39:00 【问题描述】:我试图找出 CUDA 中常量内存、纹理内存和全局内存之间的区别。
我能够找到以下相关文章,但无法找到我的问题的答案
global vs shared memory in CUDA
Usage of global vs. constant memory in CUDA
一篇文章处理所有这三个方面的性能影响: http://forum.beyond3d.com/showthread.php?t=52510
【问题讨论】:
这在 CUDA 编程指南中有很好的解释。你在那里检查过吗? 我的“理论差异”是什么意思?正如所写,这不是一个特定的具体问题............ 感谢您的指点和建议.. 【参考方案1】:恒定内存:
这是存储常量和内核参数的地方
慢,但有缓存 (8 kb)
恒定内存针对广播进行了优化
纹理记忆:
针对 2D 空间访问模式优化的缓存
读取具有一些优势,例如可以免费使用的地址模式和插值
全局内存:
慢且未缓存(1.0),缓存(2.0)
要求顺序和对齐的 16 字节读写速度快(合并读/写)
来源:http://www.cvg.ethz.ch/teaching/2011spring/gpgpu/cuda_memory.pdf
【讨论】:
以上是关于CUDA 中的常量内存、纹理内存和全局内存的主要内容,如果未能解决你的问题,请参考以下文章