CUDA中的内存类型
在CUDA中,内存是分层次的,每种内存类型在物理上有不同的组成,并且有不同的访问特点。
下面分别介绍 寄存器(Registers)、共享内存(Shared Memory)、本地内存(Local Memory) 和 全局内存(Global Memory),并说明它们的物理组成、特点以及常见用途。

1. Registers(寄存器)
物理组成:
- 位于每个流多处理器(SM)的寄存器文件中,属于片上内存(on-chip memory)。
- 每个线程独占一定数量的寄存器。
特点:
- 访问速度:最快的存储类型,延迟几乎为0。
- 作用域:寄存器变量是每个线程独立的,不能被其他线程访问。
- 容量限制:每个SM有固定数量的寄存器(如在某些架构中,每个SM有65536个32位寄存器)。
- 分配机制:寄存器数目不足时会溢出到本地内存(导致性能下降)。
常用用途:
- 用于存储临时变量和需要频繁访问的变量。
- 适合存储线程私有的数据,例如循环计数器、计算结果等。 </

最低0.47元/天 解锁文章
605

被折叠的 条评论
为什么被折叠?



