谭升
非主流人工智能科学家 我和外面那些妖艳的货不一样

【CUDA 基础】5.0 共享内存和常量内存

共享内存和常量内存

本文是CUDA第五章的概论,来给出本章的大概思路,文章短小,不说废话。

共享内存和常量内存

在本章中,我们要学习:
– 数据在共享内存中的安排
– 二维共享内存到线性全局内存的索引转换
– 解决不同访问模式中的存储体中的冲突
– 在共享内存中缓存数据以减少对全局内存的访问
– 使用共享内存避免非合并全局内存的访问
– 常量缓存和只读缓存之间的差异
– 线程束洗牌指令编程

前面我们主要研究了全局内存的使用,如何通过不同的方式提高全局内存的访问效率。虽然未对其的内存访问是没有问题的,因为现代GPU都有一级缓存了。但是跨全局内存的非合并内存访问,还是会导致带宽利用率不佳的效果。但是非合并内存访问在实际应用时无法避免,在这时可能使用共享内存,那么共享内存就是提高效率的关键。

总结

本章我们主要研究如何使用共享内存进行编程,数据在共享内存中如何被存储,数据元素是怎样使用不同的访问模式被映射到内存存储体(硬件)上的,以及使用共享内存提高核函数性能的方法

Share

You may also like...

说点什么

avatar
  Subscribe  
提醒

由于博客移至wordpress,部分公式和代码显示不正常,博主正在努力修改,如发现公式显示错误,请及时在文章下留言,感谢您的帮助,尽请原谅!