Bootstrap

CUDA学习-内存访问

一 访存合并

1.1 说明

本部分内容主要参考:

搞懂 CUDA Shared Memory 上的 bank conflicts 和向量化指令(LDS.128 / float4)的访存特点 - 知乎

1.2 share memory结构

图1.1 share memory结构

放在 shared memory 中的数据是以 4 bytes(即 32 bits)作为 1 个 word,依次放在 32 个 banks 中。所以,第 i 个 word,就存放在第 ( i mod 32 ) 个 bank 上。

每个 bank 在每个 cycle 的 bandwidth 为 32 bits。

所以 shared memory 在每个 cycle 的 bandwidth 为 3

;