3. 硬件架构

3.1. GCU210和GCU300的架构 (GCU210 & GCU300 Architecture)

SIP架构 (SIP Architecture)

GCU中的基础计算单元是SIP(Scalable Intelligent Processor),每个SIP中包含各种算术运算器、寄存器、一级内存等,是进行硬件架构扩展的最基本单元。

SIP架构图

图 3.1.1 SIP架构图

  • 指令缓存:缓存从设备内存上读取的SIP指令

  • 寄存器:各种运算器的指令主要从寄存器读入和写出数据

  • 标量运算器:执行各种标量运算指令

  • 向量运算器:执行各种向量运算指令

  • 矩阵运算器:执行二维矩阵运算指令

  • 特殊运算器:加速各种超越函数的计算

  • 一级内存:SIP内部的存储,可以存储临时数据

  • SIP数据变换引擎:SIP的数据变换引擎,可以在各级内存之间搬运数据,可以在搬运的同时对张量进行形状变换

计算单元集群

若干个SIP会组成一个计算单元集群,每个集群中会包含一块共享内存,集群中的SIP可以使用共享内存进行数据共享和通信。

计算单元集群架构图

图 3.1.2 计算单元集群架构图

  • 二级内存:计算单元集群内部的存储,可以在多个SIP之间共享数据

  • 计算单元集群数据变换引擎:可以在各级内存之间搬运数据,可以在搬运的同时对张量进行形状变换

芯片的架构 (Chip Architecture)

一个GCU芯片中包含了若干个计算单元集群,以及调度处理器、末级缓存、设备内存控制器等。

GCU架构图

图 3.1.3 GCU架构图

  • PCI Express主机接口:和主机端进行数据传输和通信的接口

  • 调度处理器:负责为主机端启动的核函数分配运行资源,并将核函数的多个线程调度到不同的SIP上进行计算

  • 末级缓存:缓存所有对设备内存的读写访问,从GCU300开始才包含末级缓存

  • 内存控制器:负责处理芯片和设备内存之间的数据传输

  • 设备内存:存储GCU计算所需要的数据,核函数的输入和输出数据一般放在设备内存中,设备内存处于GCU芯片之外