注册网站会员需要详细,商场网站方案,福州网络推广平台,表格如何给网站做链接地址结论 先说结论#xff0c;GPU分为可以做图形处理的传统意义上的真GPU#xff0c;做HPC计算的GPGPU和做AI加速计算的GPGPU#xff0c;所以下面分别说#xff1a;
对于做图形处理的GPU#xff0c;这个就和NPU 一样#xff0c;属于DSA#xff0c;没有替代性。当然#xf…
结论 先说结论GPU分为可以做图形处理的传统意义上的真GPU做HPC计算的GPGPU和做AI加速计算的GPGPU所以下面分别说
对于做图形处理的GPU这个就和NPU 一样属于DSA没有替代性。当然相信题主问的也不是这个对于做HPC计算的GPGPU需要的是通用的64位浮点的乘加运算能力一般NPU为了追求AI计算性能对64位浮点一般也是不支持或者支持有限所以这块也是不能替代的题主关心的应该也不是这块最后就是专门用于AI加速的GPGPU这块由于数据精度要求相对有限而且主要计算是矩阵如果不考虑软件框架支持程度在同一工艺制程其实各类NPU应该是优于GPGPU的所以这类是肯定可以替代的 下面以华为昇腾芯片 和英伟达的芯片为例来了解两者在架构上区别。昇腾910 (Ascend 910 ) 是华为2019年发布产品计算部分采用达芬奇架构。NVIDIA对应的是2020年发布的Ampere系列A100。
Ascend 910
昇腾910采用chiplet方案一共8个die4个HBM2个dummy die1个soc die一个NIMBUS die其中两个dummy die用来保持芯片整体机械应力平衡; 四个HBM总带宽为 1.2TB/s昇腾910整体布局如下图所示 不同die的面积如下所示 其中soc die主要用来计算采用台积电7nm工艺面积456mm^2可以提供512TOPS的INT8性能soc die的物理规划如下所示 SoC die包含 32 个 Ascend-Max 内核、16 个 Arm V8 TaiShan CPU 内核和 CPU LLC、视频编解码器(Digital Vision Pre-Processor)支持128路的全高清视频解码以及一个连接上述组件的片上网络 NoC。NoC采用4x6的mesh拓扑以提供统一且可扩展的通信网络两个相邻节点之间的链路工作频率为 2GHz数据位宽为 1024 位可以提供256GB/S 的带宽。NoC不使用缓冲减少 NoC 的面积开销。SoC die和Nimbus die架构框图如下所示 DaVinci
DaVinci核由三种计算单元、多级片上存储器和相应的加载/存储单元、指令管理单元等组成DaVinci核是异构架构结合了标量、向量和张量计算单元总线接口单元BIU在昇腾内核和外部组件之间传输数据/指令DaVinci架构框图如下所示 下表列出了三种计算单元支持的典型操作 标量计算单元主要负责地址等标量计算向量计算单元可以进行归一化激活等计算向量单元还负责数据精度转换例如 int32、fp16 和 int8 之间的量化和解量化操作向量单元还可以实现 fp32 操作张量计算单元主要是矩阵计算包括卷积全连接矩阵乘等张量计算中矩阵的典型尺寸为 16 x 16 x 16。因此张量计算单元配备了 4096 个乘法器和 4096 个累加器。矩阵计算中的每个操作数被重复使用 16 次。因此与向量单元相比将操作数加载到张量单元的能耗降低到 1/16
DaVinci核包括多个缓冲区分成不同层次。L0 缓冲区专用于张量计算单元分成三个单独的 L0 缓冲区分别是缓冲区 A L0、缓冲区 B L0 和缓冲区 C L0。它们分别用于保存输入特征数据、权重和输出特征数据。缓冲区 A L0 和缓冲区 B L0 中的数据从 L1 缓冲区加载。L0 缓冲区和 L1 缓冲区之间的通信由内存传输引擎MTE(Memory Transfer Engine) 管理。MTE 中有几个功能模块
decomp 模块借助零值压缩的算法来解压缩稀疏网络的数据img2col 模块用于将卷积转换成矩阵乘法trans 模块用于矩阵转置
缓冲区 C L0 中的输出结果可以由向量单元处理例如归一化或激活。向量单元的输出结果被分配到统一缓冲区Unified Buffer中该缓冲区与标量单元共享。数据存储在 L1 缓冲区中指令存储在指令缓存中。指令执行流程如下
指令首先由PSQ Program Sequence Queue 排序根据指令类型分别分发到三个队列即多维数据集队列(cube queue)、向量队列和 MTE 队列指令分别由相应的计算单元处理
由于三个计算单元和 MTE 并行工作因此需要显式同步来确保不同执行单元之间的数据依赖关系。下图展示了相应流程PSQ 不断向不同的单元发送指令这些指令可以并行处理直到遇到显式同步信号屏障屏障由编译器或程序员生成。 系统扩展
每台昇腾910服务器 包含8个昇腾910芯片并分为两组组内连接基于高速缓存一致性网络HCCS high-speed cache coherence network提供30GB/S带宽 。两个组使用 PCI-E 总线相互通信提供32GB/S带宽。整体形成hyper cube mesh网络拓扑。多台昇腾910服务器可以通过fat-tree 的网络拓扑组织成一个集群。下图展示了一个 2048 节点的集群可以提供512 Peta FLOPS的 fp16 总计算能力包含 256 台服务器服务器之间的链路带宽为 100Gbps。 编程模型
PyTorch、TensorFlow、MindSpore 等DNN模型开发框架位于顶端输出“Graph”表示算法中的粗粒度关系。然后在图引擎的帮助下“Graph”被转换为“Stream”由几个按顺序排列的“Task”组成。“Streams”/“Tasks”可以直接从Operator Lib调用也可以由程序员借助Operator Engine 用不同级别的语言描述。TBETensor Boost Engine DSLDomain Specific Language是用Level-3编程模型开发的称为数学编程级别针对不了解硬件知识的用户。借助编译器可以从 TBE DSL 描述中自动生成实例“Tasks”。程序员还可以在并行/内核级别2 级编程模型中开发实例“Task”类似于 GPU 的 CUDA 或 OpenCL并引入了张量迭代器核 TIKTensor Iterator Kernel接口可以使用 Python 进行并行编程。专用的编译器技术“Auto Tiling ”用于将大任务切割以适应 Ascend 架构。在强化学习算法的帮助下该技术通过智能搜索合法的映射空间为程序提供最佳的tiling和调度。编程模型的最低级别级别 1是 C 编程也称为 CCE-CCube-based Compute Engine。在此级别中每个体系结构的所有设计细节都暴露给程序员。程序员可以嵌入类似汇编的代码。整体结构如下所示 Ampere
2020年NVIDIA推出Ampere架构采用TSMC 7nm FFN工艺面积826mm^2一共542亿晶体管完整GA100物理版图如下所示 Ampere GPU 中两个 SM 共同组成一个纹理处理器集群TPC其中 8 个 TPC组成了一个GPU 处理集群(GPC)一共 8 个GPC。因此GA100 GPU 的完整实现包括以下单元
- 8 个 GPC每个GPC有8 个 TPC每个TPC有2 个 SM一共128 个 SM
- 每个SM有64 个 FP32 CUDA 核每个完整 GPU 8192 个 FP32 CUDA 核
- 每个SM有4 个第三代 Tensor Core每个完整 GPU 512 个 Tensor Core
- 6 个 HBM2 12 个 512 位内存控制器 A100 基于 GA100有 108 个 SMA100 Tensor Core GPU 实现包括以下单元
- 7 个 GPC每个GPC有7 或 8 个 TPC每个TPC有2 个 SM最多108 个 SM
- 每个 GPU有 64 个 FP32 CUDA 核一共6912 个 FP32 CUDA 核
- 每个SM有4 个第三代 Tensor Core每个 GPU 432 个Tensor Core
- 5 个 HBM210 个 512 位内存控制器 A100 SM 包括新的第三代 Tensor Core每个核每个时钟执行 256 个 FP16/FP32 FMA 操作。A100 每个 SM 有四个 Tensor Core每个时钟总共提供 1024 次密集的 FP16/FP32 FMA 操作。 DGX
下图展示了DGX A100 系统网络拓扑 DGX A100 系统包含6个NVSwitch 2.0每个 A100 GPU 使用 12 个 NVLink 与 6 个 NVSwitch 进行互联通信因此每个 GPU 到每个交换机都有两条链路。
NVIDIA DGX SuperPOD
NVIDIA DGX SuperPOD是由DGX A100 组成的集群系统包括
140 个 DGX A100 系统1,120 个 NVIDIA A100 GPU170 个 Mellanox Quantum 200G InfiniBand 交换机15Km光缆4PB 高性能存储
具体硬件参数如下 下图展示了140 节点 DGX SuperPOD 的计算拓扑结构 参考文献
H. Liao, J. Tu, J. Xia and X. Zhou, “DaVinci: A Scalable Architecture for Neural Network Computing,” 2019 IEEE Hot Chips 31 Symposium (HCS), Cupertino, CA, USA, 2019, pp. 1-44, doi: 10.1109/HOTCHIPS.2019.8875654.Liao, H., Tu, J., Xia, J., Liu, H., Zhou, X., Yuan, H., Hu, Y., 2021. Ascend: a Scalable and Unified Architecture for Ubiquitous Deep Neural Network Computing : Industry Track Paper, in: 2021 IEEE International Symposium on High-Performance Computer Architecture (HPCA). Presented at the 2021 IEEE International Symposium on High-Performance Computer Architecture (HPCA), IEEE, Seoul, Korea (South), pp. 789–801. https://doi.org/10.1109/HPCA51647.2021.00071NVIDIA Ampere Architecture In-Depth [WWW Document], 2020. . NVIDIA Technical Blog. URL [NVIDIA Ampere Architecture In-Depth | NVIDIA Technical Blog](NVIDIA Ampere Architecture In-Depth | NVIDIA Technical Blog) .Choquette J. et al., “NVIDIA A100 tensor core GPU: Performance and innovation,” IEEE Micro, vol. 41, no. 2, pp. 29–35, Mar./Apr. 2021, doi: 10.1109/MM.2021.3061394.