3. 硬件架构¶
3.1. GCU210和GCU300的架构 (GCU210 & GCU300 Architecture)¶
SIP架构 (SIP Architecture)¶
GCU中的基础计算单元是SIP(Scalable Intelligent Processor),每个SIP中包含各种算术运算器、寄存器、一级内存等,是进行硬件架构扩展的最基本单元。
指令缓存:缓存从设备内存上读取的SIP指令
寄存器:各种运算器的指令主要从寄存器读入和写出数据
标量运算器:执行各种标量运算指令
向量运算器:执行各种向量运算指令
矩阵运算器:执行二维矩阵运算指令
特殊运算器:加速各种超越函数的计算
一级内存:SIP内部的存储,可以存储临时数据
SIP数据变换引擎:SIP的数据变换引擎,可以在各级内存之间搬运数据,可以在搬运的同时对张量进行形状变换
计算单元集群¶
若干个SIP会组成一个计算单元集群,每个集群中会包含一块共享内存,集群中的SIP可以使用共享内存进行数据共享和通信。
二级内存:计算单元集群内部的存储,可以在多个SIP之间共享数据
计算单元集群数据变换引擎:可以在各级内存之间搬运数据,可以在搬运的同时对张量进行形状变换
芯片的架构 (Chip Architecture)¶
一个GCU芯片中包含了若干个计算单元集群,以及调度处理器、末级缓存、设备内存控制器等。
PCI Express主机接口:和主机端进行数据传输和通信的接口
调度处理器:负责为主机端启动的核函数分配运行资源,并将核函数的多个线程调度到不同的SIP上进行计算
末级缓存:缓存所有对设备内存的读写访问,从GCU300开始才包含末级缓存
内存控制器:负责处理芯片和设备内存之间的数据传输
设备内存:存储GCU计算所需要的数据,核函数的输入和输出数据一般放在设备内存中,设备内存处于GCU芯片之外