title: 【CUDA 基础】5.0 共享内存和常量内存
categories:
- CUDA
- Freshman
tags:
- 共享内存
- 常量内存
toc: true
date: 2018-06-01 16:46:49
Abstract: 本文是第五章关于CUDA共享内存和常量内存的概述
Keywords: 共享内存,常量内存
开篇废话
本文是CUDA第五章的概论,来给出本章的大概思路,文章短小,不说废话。
共享内存和常量内存
在本章中,我们要学习:
- 数据在共享内存中的安排
- 二维共享内存到线性全局内存的索引转换
- 解决不同访问模式中的存储体中的冲突
- 在共享内存中缓存数据以减少对全局内存的访问
- 使用共享内存避免非合并全局内存的访问
- 常量缓存和只读缓存之间的差异
- 线程束洗牌指令编程
前面我们主要研究了全局内存的使用,如何通过不同的方式提高全局内存的访问效率。虽然未对其的内存访问是没有问题的,因为现代GPU都有一级缓存了。但是跨全局内存的非合并内存访问,还是会导致带宽利用率不佳的效果。但是非合并内存访问在实际应用时无法避免,在这时可能使用共享内存,那么共享内存就是提高效率的关键。
总结
本章我们主要研究如何使用共享内存进行编程,数据在共享内存中如何被存储,数据元素是怎样使用不同的访问模式被映射到内存存储体(硬件)上的,以及使用共享内存提高核函数性能的方法