CUDA学习--内存处理之概述(1)
2016-09-23 21:18
190 查看
1. 高速缓存
高速缓存的最大速度与缓存的大小成反比关系。一级缓存是最快的,但他的大小一般限制在16k、32k或者64k。通常每个CPU核会分配一个单独的一级缓存。二级缓存相对而言慢一些,但他更大,通常有256k~512k。二级缓存或者三级缓存一般在处理器的核之间是共享的,或者作为连接于特定处理器核的独立缓存来维护。与CPU不同,GPU主要依赖基于程序员托管的缓存或者共享内存区。在费米架构的GPU实现中,每个SM有一个一级缓存,这个一级缓存既是基于程序员托管的又是基于硬件托管的。在所有的SM之间有一个共享的二级缓存。缓存在处理器的核或者SM之间共享主要是为了让设备之间能够通过相同的共享缓冲进行通信,允许处理器之间不需要每次都通过全局内存进行通信。
不同存储类型的访问时间:
存储类型 | 寄存器 | 共享内存 | 纹理内存 | 常量内存 | 全局内存 |
---|---|---|---|---|---|
带宽 | ~8TB/s | ~1.5TB/s | ~200MB/s | ~200MB/s | ~200MB/s |
延迟 | 1个周期 | 1~32个周期 | 400~600个周期 | 400~600个周期 | 400~600个周期 |
相关文章推荐
- CUDA学习--内存处理之常量内存(4)
- CUDA学习--内存处理之寄存器(2)
- CUDA学习--内存处理之全局内存(5)
- JVM学习笔记-内存处理
- 改善C++ 程序的150个建议学习之建议30:new内存失败后的正确处理
- CUDA 学习(十一)、共享内存
- CUDA 学习(九)、CUDA 内存
- 用MapViewOfFile处理大文件-内存不足(转帖学习)
- CUDA 学习(十七)、优化策略2:内存因素
- cuda内存处理及stream内存处理
- CUDA 学习(十三)、全局内存
- JAVA基础学习之XMLCDATA区、XML处理指令、XML约束概述、JavaBean、XML解析(8)
- java学习笔记]java语言基础概述之内存的划分&堆和栈
- [java学习笔记]java语言基础概述之内存的划分&堆和栈
- [原创]java WEB学习笔记69:Struts2 学习之路-- 消息处理与国际化,概述,配置国际资源文件,访问国际化消息,通过超链接切换语言
- 3.Oracle深度学习笔记——内存架构之PGA 概述
- 方法javaJVM学习笔记-内存处理
- 【算法学习笔记】78. STL二分的练习 下标映射的处理技巧 SJTU OJ 1053 二哥的内存
- CUDA 图像处理使用纹理内存与不使用纹理内存对比
- [CUDA学习]5. 常量内存与事件