Some-hardware-knowledge

本文最后更新于:1 年前

导引

为什么会想着写一篇关于硬件(SSD)的博文呢,在之前的一篇ZeRO-Infinity的论文中,讲到了利用NVMe来用作GPU,CPU内存的扩充,而对NVMe这个东西从未耳闻,因此看了一些资料来查缺补漏,便有了本文关于SSD这一硬件的简单讲解.其中主要涉及到的内容是PCIe的协议栈以及NVMe协议的讲解

SSD

物理接口

常用的物理接口有PCIe接口,SATA接口,M.2接口

前两个接口是根据通道而起的名字

M.2接口则可以跑PCIe或SATA通道,具体要看主板或硬盘的支持情况,主流的用于接入SSD的接口

通道

在谈及PCIe前,

bus%20development

PCIe

协议

NVMe

NVMe(Non-Volatile Memory Express),非易失性内存主机控制器接口规范

PCIe Switch

HBM2

个人感觉是一个升级版的PCIe,双工双路信道

NVLink Development

NVSwitch

内部整合了多个NVLink

NVSwitch Development

DGX

DGX(Data Gpu eXtend,知乎捡回来的解释,NVIDIA也没有解释)系列产品(另还有HGX,EGX,分别对应HPC,Edge等领域):

  • DGX Station

    可自行DIY或购买的DGX工作站

  • DGX-1(卖点是P100和NVLink)

    采用的是可以搭载8块GPU的SXM插槽,最初是P100(Pascal架构的,16GB),后面换成了V100(Volta架构,32GB)

    DGX-1 Pascal架构的内部连接对AllGather优化没做好,但应该在DGX-1 Volta架构中增加了更多的NVLink通道解决了这个问题,P100有4个NVLink通道,V100有6个NVLink通道

    以上参考:李沐关于DGX-1的描述

    关于下方注释中的SXM的解释参考自wiki-SXM

    SXM(Server pci eXpress Module),是一种高带宽的插槽,用于连接NVIDIA计算加速器到系统的一种解决方案,自P100以来,每一代的Nvidia Tesla,DGX计算系列,HGX板子都配有SXM插槽,可为匹配的GPU实现高带宽等功能

    在DGX系列中,SXM用于Pascal架构的GPU,SXM2,SXM3用于Volta架构,SXM4用于Ampere架构,SXM5用于Hopper架构的GPU

    这些插槽是对应于特定的加速器型号

  • DGX-2(卖点是V100和NVSwitch)

  • DGX A100

  • DGX H100

    • 8个H100GPU,总显存高达640GB
  • DGX BasePOD

  • DGX SuperPOD

PCI和PCIe硬件讲解

DGX-1和DGX-2以及其中架构