CUDA学习笔记(6) 分析共享内存与全局内存的作用及区别
发布时间
阅读量:
阅读量
共享内存(Shared memory) 是每个流处理器组(SM) 内部配置的一种高速存储区域,其主要功能是用于存储某一线程块(Block) 中所有线程频繁调用的数据信息。对于流处理器(SP) 而言,访问该存储区域的速度仅略低于寄存器(Register),并且显著优于全局显存的访问效率。然而,这种资源十分稀缺且珍贵,通常容量仅在几十KByte范围内。
这里以我电脑上的“Quadro K620”为例:
| 硬件资源 | 参数 |
|---|---|
| 流处理器(SP) | 128 * 3 = 384 |
| 流处理器组(SM/SMM) | 3 |
| 全局显存(Global memory) | 2048MByte |
| 每个SM中的共享内存(Shared memory) | 64KByte |
| 每个SM中的寄存器(Register) | 65536个32bit寄存器 |
从整体来看,全局显存(Global memory) 的容量相较于共享显存(Shared memory) 高出多个数量级。与此同时,共享显存的访问效率显然优于全局显存。进一步从硬件架构的角度分析:

还没有任何评论哟~
