各级别存储记录
host memory
- 一般DRAM,就是内存条
SSD
- 是固态硬盘
- 大容量存储
- 最老的时候,用机械硬盘,速度不高,传输路径是机械硬盘 ─── SATA线 ─── SATA Controller ─── CPU,后来SSD速度上去了,SATA不够了,所以开发了NVMe传输协议,传输路径是NVMe SSD ── PCIe 通道 ── CPU
- GPU一般不能直接访问SSD(因为GPU没有NVMe driver)
- NV的GPU Direct技术稍微好一点,是 SSD → GPU memory 的 DMA bypass(绕过 CPU 内存复制)
- 不是 GPU 直接控制 SSD,实际 IO 请求仍是 CPU 发起
GPU Memory = 显存
- GPU Memory 是 GPU 独立使用的高速内存。
- 两种主要类型:
- HBM(高带宽内存) —— A100/H100 用的
- GDDR(显存) —— RTX 4090/3090 用的
- 其中HBM也是DRAM,做的更强一点
1 | ┌────────────────────── Server ───────────────────────┐ |
片上内存问题
哪些在片上
| 类型 | 位置 | 容量 |
|---|---|---|
| CPU L1/L2/L3 Cache | 在 CPU 芯片上 | KB~几十 MB |
| GPU 的 SRAM / Shared Memory | 在 GPU SM 上 | 数百 KB / MB |
| Register File(寄存器) | 在核心中 | 几十 KB |
| TPU / NPU 的 on-chip SRAM buffer | 芯片上 | MB 级 |
哪些不在片上
| 存储类型 | 位置 | 是否片上内存? | 解释 |
|---|---|---|---|
| Host Memory(主机内存) = DRAM | 在主板上 | ❌ 不是 | 远离 CPU,需要走 memory bus |
| GPU Memory(显存:HBM/GDDR) | 在 GPU 封装上,但通常不是同一个 die | ❌(严格意义上)不是 | 虽然靠近 GPU,但仍是 DRAM |
| HBM(高带宽显存) | 采用 3D 封装,与 GPU Die 并排放置 | ❌ 不是(不是真正 on-chip ) | 是 DRAM 的高带宽版本(称为 on-package,而非 on-chip) |
| DRAM(一般主内存) | 在主板 DIMM 上 | ❌ 不是 | DRAM 永远不是片上结构 |
| SSD | 主板上或 PCIe | ❌ 绝不是 | 大容量、慢速、非易失性存储 |
片上内存(SRAM)
1
2
3
4
5[CPU DIE]
├─ L1 Cache
├─ L2 Cache
├─ L3 Cache
└─ RegistersGPU + HBM(on-package)
1
2[GPU DIE] —— TSV —— [HBM STACK]
(逻辑核心) (DRAM)Host memory
1
CPU —— Memory Controller —— DRAM DIMM(主板插槽)
SSD
1
CPU —— PCIe —— NVMe SSD