各级别存储记录

Alice Yu Lv3

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
2
3
4
5
6
7
8
9
10
11
┌────────────────────── Server ───────────────────────┐
│ │
│ CPU ─── uses ───► Host Memory (DRAM) │
│ │ │
│ └─► Access SSD (NVMe) │
│ │
│ GPU ─── uses ───► GPU Memory (HBM or GDDR) │
│ │ │
│ └─► Can access Host Memory via PCIe/NVLink │
│ │
└──────────────────────────────────────────────────────┘

片上内存问题

哪些在片上

类型 位置 容量
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
    └─ Registers
  • GPU + 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