CN117151183A - 一种用于深度学习的芯粒互联系统 - Google Patents
一种用于深度学习的芯粒互联系统 Download PDFInfo
- Publication number
- CN117151183A CN117151183A CN202311122958.3A CN202311122958A CN117151183A CN 117151183 A CN117151183 A CN 117151183A CN 202311122958 A CN202311122958 A CN 202311122958A CN 117151183 A CN117151183 A CN 117151183A
- Authority
- CN
- China
- Prior art keywords
- gpu
- optical
- deep learning
- waveguide grating
- electro
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 239000007771 core particle Substances 0.000 title claims abstract description 99
- 238000013135 deep learning Methods 0.000 title claims abstract description 72
- 230000003287 optical effect Effects 0.000 claims abstract description 147
- 238000004891 communication Methods 0.000 claims abstract description 135
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 claims abstract description 83
- 229910052710 silicon Inorganic materials 0.000 claims abstract description 83
- 239000010703 silicon Substances 0.000 claims abstract description 83
- 238000005516 engineering process Methods 0.000 claims abstract description 10
- 230000015654 memory Effects 0.000 claims description 23
- 238000012549 training Methods 0.000 claims description 23
- 238000000034 method Methods 0.000 claims description 19
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 10
- 238000013136 deep learning model Methods 0.000 claims description 9
- 230000003993 interaction Effects 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 abstract 1
- 230000005540 biological transmission Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000004806 packaging method and process Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 210000002230 centromere Anatomy 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012536 packaging technology Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/067—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/098—Distributed learning, e.g. federated learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Optical Communication System (AREA)
Abstract
本发明提供了一种用于深度学习的芯粒互联系统,所述芯粒中每个芯粒设有电光通信端口,所述芯粒分为CPU芯粒和GPU芯粒,所述系统包括:至少一个CPU芯粒,其用于管控深度学习任务相关数据的收发与任务执行流程,并且所述CPU芯粒设有电光通信端口;多个GPU芯粒,其用于根据深度学习任务相关数据执行深度学习任务,并且所述GPU芯粒设有电光通信端口;多个阵列波导光栅路由器,其用于对以光波承载的深度学习任务相关的数据,其中,所述阵列波导光栅路由器与所述芯粒通过3D堆叠技术封装在不同的芯片层;多个硅光收发器,其每个硅光收发器用于一个芯粒的电光通信端口与对应阵列波导光栅路由器之间的连接与电光信号转换。
Description
技术领域
本发明涉及神经网络处理器体系结构及设计方法,具体来说涉及神经网络模型计算的硬件加速领域,更具体地说,涉及一种用于深度学习的芯粒互联系统。
背景技术
自2012年以来,最大的深度学习训练任务的计算总量每3-4个月翻一倍,这对硬件的算力提出了极高的要求。面向深度学习的芯粒系统将多个加速器芯粒集成在同一封装内,且通过极高的带宽链路互联,成为深度学习训练系统极具前景的解决方案。
而随着芯粒(chiplet)封装规模的增大,也给其互联带来了挑战。目前芯粒之间是基于电互联技术,需要在带宽和传输距离中做出取舍,无法同时满足深度学习训练带宽与传输距离的需求。在每个IO引脚20Gbps带宽下,传输距离通常为百微米级别,仅供相邻芯粒的互联,这会导致芯粒之间的互联网络半径很大,且每一跳的通信时延都高达数十纳秒,这将极大的限制了整个芯粒系统的规模。并且深度训练需要极高的带宽来满足训练过程中MB/GB级别数据流的传输,且对时延性能也有很高的要求,而传统的芯粒网路多跳网络或导致极大地时延。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种用于深度学习的芯粒互联系统。
本发明的目的是通过以下技术方案实现的:
根据本发明的第一方面,提供一种用于深度学习的芯粒互联系统,所述芯粒中每个芯粒设有电光通信端口,所述芯粒分为CPU芯粒和GPU芯粒,所述系统包括:至少一个CPU芯粒,其用于管控深度学习任务相关数据的收发与任务执行流程,并且所述CPU芯粒设有用于传输深度学习任务相关数据的电光通信端口;多个GPU芯粒,其用于根据深度学习任务相关数据执行深度学习任务,并且所述GPU芯粒设有用于传输深度学习任务相关数据的电光通信端口;多个硅光收发器,其中,每个电光通信端口连接有对应的硅光收发器,每个硅光收发器与其连接的电光通信端口之间通过电信号传输数据,每个硅光收发器将来自电光通信端口的电信号转换为光信号后发出;多个阵列波导光栅路由器,用于将发送数据的芯粒通过硅光收发器发出的光信号路由至接收数据的芯粒对应的硅光收发器,以通过接收数据的芯粒对应的硅光收发器将光信号解调为电信号并传输给接收数据的芯粒,其中,所述阵列波导光栅路由器与所述芯粒通过3D堆叠技术封装在不同的芯片层。。
可选的,所述系统被配置为:在每个硅光收发器与其连接的电光通信端口之间设置用于通过电信号传输数据的硅通孔;以及在每个硅光收发器件与其连接的阵列波导光栅路由器之间设置用于通过光信号传输数据的光波导。
可选的,所述系统被配置为:根据所述深度学习任务对应的任务执行流程,由所述CPU芯粒控制所述多个GPU芯粒、所述多个硅光收发器和所述多个阵列波导光栅路由器,以按照所述任务执行流程中当前流程所需的集合通信拓扑算法完成GPU芯粒之间或者GPU芯粒与CPU芯粒之间的数据交互。
可选的,所述系统被配置为:CPU芯粒的总数量N小于GPU芯粒的总数量M,其中,N≥1,M≥2,并且单个CPU芯粒的电光通信端口的总数量L小于单个GPU芯粒的电光通信端口的数量Q,L≥1,Q≥3,阵列波导光栅路由器的总数量大于等于单个GPU芯粒上电光通信端口的数量Q;单个阵列波导光栅路由器的端口数大于等于GPU芯粒和CPU芯粒的总数量。
可选的,所述系统被配置为:每个CPU芯粒的第1-L个电光通信端口分别连接第1-L个阵列波导光栅路由器的端口;每个GPU芯粒的第1-Q个电光通信端口分别连接第1-Q个阵列波导光栅路由器的端口;其中,第1个阵列波导光栅路由器用于所有CPU芯粒和所有GPU芯粒间的一对多或者多对多的集合通信,并且由对应的硅光收发器件以波分复用的方式调制发送至第1个阵列波导光栅路由器的光信号以及解调来自第1个阵列波导光栅路由器的光信号。
可选的,所述系统被配置为:第2个阵列波导光栅路由器用于所有GPU芯粒间的一对多或者多对多的集合通信,并且由对应的硅光收发器件以波分复用的方式调制发送至第2个阵列波导光栅路由器的光信号以及解调来自第2个阵列波导光栅路由器的光信号。
可选的,所述系统被配置为:所述第3-Q个阵列波导光栅路由器用于所有GPU芯粒间的一对多、多对多或者一对一的集合通信,并且由对应的硅光收发器件以波分复用或者单波长的方式调制发送至第3-Q个阵列波导光栅路由器的光信号以及解调来自第3-Q个阵列波导光栅路由器的光信号。
可选的,所述硅光收发器件被配置为:至少能调制和解调N+M种不同波长的光信号,所述N表示CPU芯粒的总数量,所述M表示GPU芯粒的总数量。
可选的,所述系统还包括:用于存储CPU芯粒或者GPU芯粒的数据的专用内存,每个CPU芯粒连接至少一个专用内存,每个GPU芯粒连接至少一个专用内存,所述专用内存为高带宽内存。
根据本发明的第二方面,提供一种基于第一方面所述系统的深度学习方法,所述方法包括:获取深度学习任务相关数据,所述深度学习任务相关数据包括初始的深度学习模型和用于训练模型的训练数据;由所述CPU芯粒将所述初始的深度学习模型的模型参数和训练数据通过CPU芯粒的电光通信端口、硅光收发器和阵列波导光栅路由器下发到执行训练的各个GPU芯粒;由各个GPU芯粒执行深度学习模型的深度学习任务并更新模型参数,并且在深度学习期间通过GPU芯粒的电光通信端口、硅光收发器和阵列波导光栅路由器交互模型参数、训练数据和中间特征数据;在深度学习完成后,由所述各个GPU芯粒通过电光通信端口、硅光收发器和阵列波导光栅路由器传输训练完成的模型参数至所述CPU芯粒。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1为根据本发明实施例的用于深度学习的芯粒互联系统的结构示意图;
图2为根据本发明实施例的芯粒之间通过多个阵列波导光栅路由器连接的简化原理示意图;
图3为根据本发明实施例的alltoall互连的示意图;
图4为根据本发明实施例的Allreduce互联的示意图;
图5为根据本发明实施例的Allreduce互联的通信连接示意图;
图6为根据本发明实施例的以波分复用实现一对多通信的示意图;
图7为根据本发明实施例的一对一的通信的示意图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如在背景技术部分提到的,目前芯粒之间是基于电互联技术进行通信,这会导致芯粒之间的互联网络半径很大,导致芯粒之间在深度学习任务的相关数据传输时延迟较大。对此本发明设置在CPU芯粒和GPU芯粒设有传输深度学习任务的相关数据的电光通信端口,电光通信端口不同于传统技术,传统技术中的通信端口在从发送数据的芯粒至接收数据的芯粒之间,始终采用纯电信号方式传输数据。而本发明的电光通信端口是指数据以电信号的方式从该电光通信端口发出后,在从发送数据的芯粒至接收信号的芯粒之间还经过光信号的方式传输数据;该过程借助于多个阵列波导光栅路由器(Arrayed WaveguideGrating Router,简称AWGR)和多个硅光收发器实现,可以降低深度学习任务的通信延迟;而且所述阵列波导光栅路由器与所述芯粒通过3D堆叠技术封装在不同的芯片层,进一步缩短通信路径,降低深度学习任务的通信延迟。
根据本发明的一个实施例,参见图1,本发明提供一种用于深度学习的芯粒互联系统,所述芯粒中每个芯粒设有电光通信端口,所述芯粒分为CPU芯粒和GPU芯粒,所述系统包括:CPU芯粒、GPU芯粒、专用内存HBM(High Bandwidth Memory)、阵列波导光栅路由器AWGR和硅光收发器Tx/Rx。每个CPU芯粒中的控制单元(Control Unit,简称CU)用于控制该CPU芯粒中的数据处理和/或通信控制。每个GPU芯粒中的控制单元CU用于控制该GPU芯粒中的数据处理和/或通信控制。
示意性的,当一个芯粒A(CPU芯粒或者GPU芯粒)需要与另一个芯粒B(CPU芯粒或者GPU芯粒)通信时,按照以下方式进行:
发送数据的芯粒A对应的电光通信端口a1以将数据通过电信号经硅通孔传输至发送数据的芯粒A的电光通信端口a1对应的硅光收发器a2;
经由硅光收发器a2将数据调制成光信号,光信号经过光波导、阵列波导光栅路由器传输至接收数据的芯粒B对应的硅光收发器b2;
硅光收发器b2从光信号解调出数据并转为将数据通过电信号经硅通孔传输至接收数据的芯粒B的电光通信端口b1。
根据本发明的一个实施例,用于深度学习的芯粒互联系统包括:
N个CPU芯粒,其用于管控深度学习任务相关数据的收发与任务执行流程,并且所述CPU芯粒设有L个电光通信端口;
M个GPU芯粒,其用于根据深度学习任务相关数据执行深度学习任务,并且所述GPU芯粒设有Q个电光通信端口;
N×L+M×Q个硅光收发器,其每个硅光收发器用于一个芯粒的电光通信端口与对应阵列波导光栅路由器之间的连接以及电信号和光信号的转换,其中,每个硅光收发器与其连接的电光通信端口之间通过电信号传输数据,每个硅光收发器将来自电光通信端口的电信号转换为光信号后发出,以及每个硅光收发器将来自阵列波导光栅路由器的光信号转换为电信号并发送给与其连接的电光通信端口;
Q个阵列波导光栅路由器(编号为分别为A1…AQ),其用于将发送数据的芯粒通过硅光收发器发出的光信号路由至接收数据的芯粒对应的硅光收发器;
其中,N≥1,M≥2,L≥1,Q≥3。示意性的,例如N为1、2或3等,L为1或者2等,M为8、10或20等,Q为3、4或8等。
根据本发明的一个实施例,系统被配置为:CPU芯粒的总数量N小于GPU芯粒的总数量M。M可根据系统规模进行设置,例如M可为GPU芯粒的总数量N的1/8或者1/16等。该实施例的技术方案至少能够实现以下有益技术效果:因为深度学习需要利用大量的GPU芯粒进行特征图的运算,借助其强大的并行计算能力加速深度学习任务。
根据本发明的一个实施例,系统被配置为:单个CPU芯粒的电光通信端口的总数量L小于单个GPU芯粒的电光通信端口的数量Q。该实施例的技术方案至少能够实现以下有益技术效果:CPU芯粒仅需在深度学习开始和结束时与GPU芯粒进行大量的数据交互,而深度学习任务更多的数据交互量是在GPU芯粒之间,因此本发明为GPU芯粒设置更多的电光通信端口数,以提升GPU芯粒之间在深度学习期间的数据交互性能。
根据本发明的一个实施例,阵列波导光栅路由器的总数量大于等于单个GPU芯粒上电光通信端口的数量Q。单个阵列波导光栅路由器的总数量最少等于单个GPU芯粒上电光通信端口的数量Q即可。但是,也可设置更多的阵列波导光栅路由器,以满足其他实施者利用额外的阵列波导光栅路由器进行其他方面数据传输的需要。
根据本发明的一个实施例,单个阵列波导光栅路由器的端口数大于等于GPU芯粒和CPU芯粒的总数量。单个阵列波导光栅路由器的端口数最少等于GPU芯粒和CPU芯粒的总数量即可满足深度学习任务的相关数据交互需求。但是,也可以设置跟多的端口数以满足其他实施者利用阵列波导光栅路由器的额外端口进行其他方面数据传输的需要。
根据本发明的一个实施例,所述系统被配置为:根据所述深度学习任务对应的任务执行流程,由所述CPU芯粒控制所述多个GPU芯粒、所述多个硅光收发器和所述多个阵列波导光栅路由器,以按照所述任务执行流程中当前流程所需的集合通信拓扑算法完成GPU芯粒之间或者GPU芯粒与CPU芯粒之间的数据交互。
根据本发明的一个实施例,电光通信端口可以设置两种模式,其中:
第一类模式为全连接模式,可以用于训练过程中alltoall集合通信(alltoall算子)与allgather集合通信(allgather算子)的通信加速。第一类模式下,硅光收发器件的Tx端(发射端)将不同目的芯粒的信号调制的相应的波长上,并复用为WDM信号,该WDM信号包括O路不同波长信号;其中,O=M+N;该WDM信号通过AWGR时,按照其波长路由规则交换至不同的目的芯粒,Rx端(接收端)将收到的WDM信号解复用,分别解调出每条波长的电信号,对应不同的源节点。示意性的,CPU芯粒通过AWGR和所有CPU、GPU芯粒之间实现全连接,因此CPU芯粒可以通过此全连接实现数据的下发与GPU的数据上传。
第二类模式为选择性连接模式,可以使用此模式按照所需的连接拓扑设置任意两个芯粒之间的通信采用的波长,可以是单波长的光信号或者多种波长的光信号,也可按照allreduce算法进行匹配,实现深度学习任务中allreduce算子的加速。对于电光通信端口与阵列波导光栅路由器的端口的连接关系,以及电光通信端口设置的模式,可以参考以下实施例。
根据本发明的一个实施例,所述系统被配置为:每个CPU芯粒的第1-L个电光通信端口分别连接第1-L个阵列波导光栅路由器的端口;即CPU芯粒的L个电光通信端口通过硅光波导分别连接至的AWGR A1…AL的一个端口;每个GPU芯粒的第1-Q个电光通信端口分别连接第1-Q个阵列波导光栅路由器的端口。即每个GPU芯粒的Q个电光通信端口通过硅光波导分别连接至AWGR A1…AQ的一个端口。
示意性的,根据本发明的一个示例,参见图2,其给出了2个CPU芯粒(CPU1和CPU2)、8个GPU芯粒(GPU1-GPU 8)之间通过4个阵列波导光栅路由器(AWGR1-AWGR 4)连接的示意图(其中未示出硅光收发器件,可以假想硅光收发器件设置在芯粒与AWGR之间的连线上),HBM为高带宽内存。
为实现CPU芯粒和GPU芯粒之间的集合通信,根据本发明的一个实施例,第1个阵列波导光栅路由器用于所有CPU芯粒和所有GPU芯粒间的一对多或者多对多的集合通信,并且由对应的硅光收发器件以波分复用的方式调制发送至第1个阵列波导光栅路由器的光信号以及解调来自第1个阵列波导光栅路由器的光信号。对于与第1个阵列波导光栅路由器连接的电光通信端口,可以设置为全连接模式,用于所有CPU芯粒和所有GPU芯粒间的一对多或者多对多的集合通信。对应的,相关芯粒之间以波分复用通信的波长设置可参考表1。
表1
w | CPU1 | … | CPUN | GPU1 | GPU2 | … | GPUM |
CPU1 | 1 | … | N | N+1 | N+2 | … | N+M |
… | … | … | … | … | … | … | … |
CPUN | N | … | 2N-1 | 2N | 2N+1 | … | 1 |
GPU1 | N+1 | … | 2N | 2N+1 | 2N+2 | … | 2 |
GPU2 | N+2 | … | 2N+1 | 2N+2 | 2N+3 | … | 3 |
… | … | … | … | … | … | … | … |
GPUM | N+M | … | 1 | 2 | 3 | … | N+M-1 |
示意性的,参见图3,仍以2个CPU芯粒和8个GPU芯粒为例,全连接模式(alltoall互联)例如用于集合通信中的alltoall集合通信或者allgather集合通信。对于CPU-GPU之间的通信以及GPU之间除去allreduce集合通信的其他通信,使用alltoall光端口进行通信,对于alltoall和allgather集合通信,GPU之间使用alltoall光端口进行通信,此时alltoall和allgather通信一跳可达。再次参见图2,每个CPU芯粒有用于全连接模式的电光通信端口,并连接至AWGR1,每个GPU上有2个用于全连接模式的电光通信端口连接至AWGR1和AWGR2,AWGR1与AWGR2是全连接模式,也就是说通过AWGR1与AWGR2可是实现任意芯粒到芯粒单跳直达。如果CPU1想与GPU1、GPU2通信,将CPU1-GPU1的数据流调制为w3波长的光信号,同时将CPU1-GPU2的数据流调制为w4波长的光信号,并将两路不同波长的信号复用为WDM信号,该WDM信号包括发送至不同节点的数据流,通过AWGR1时,w3波长与w4波长的光信号分别交换至GPU1和GPU2,实现了数据的交换。基于表1,可以得到2个CPU芯粒和8个GPU芯粒之间以波分复用通信的波长设置可参考表2,中间的数值示意的波长的编号,其中,当首列为发送数据的芯粒的编号,首行为接收数据的芯粒的编号时,以CPU1芯粒向CPU2芯粒为例,表示CPU1芯粒向CPU2芯粒之间发送光信号的波长为w2;又比如,如果CPU1想与GPU1、GPU2通信,将CPU1-GPU1的数据流调制为w3波长的光信号,同时将CPU1-GPU2的数据流调制为w4波长的光信号,并将两路不同波长的信号复用为WDM信号,该WDM信号包括发送至不同节点的数据流,通过AWGR1时,w3波长与w4波长的光信号分别交换至GPU1和GPU2,实现了数据的交换。其余类似,不作赘述。
表2
为实现GPU芯粒之间的集合通信,根据本发明的一个实施例,所述系统被配置为:第2个阵列波导光栅路由器用于所有GPU芯粒间的一对多或者多对多的集合通信,并且由对应的硅光收发器件以波分复用的方式调制发送至第2个阵列波导光栅路由器的光信号以及解调来自第2个阵列波导光栅路由器的光信号。对于与第2个阵列波导光栅路由器连接的电光通信端口,可以设置为全连接模式,用于所有GPU芯粒间的一对多或者多对多的集合通信。
为实现GPU芯粒之间按需连接的多样化通信,根据本发明的一个实施例,所述系统被配置为:所述第3-Q个阵列波导光栅路由器用于所有GPU芯粒间的一对多、多对多或者一对一的集合通信,并且由对应的硅光收发器件以波分复用或者单波长的方式调制发送至第3-Q个阵列波导光栅路由器的光信号以及解调来自第3-Q个阵列波导光栅路由器的光信号。对于与第3-Q个阵列波导光栅路由器连接的电光通信端口,可以设置为选择性连接模式,用于所有GPU芯粒间的多对一、一对一、一对多或者多对多的集合通信。
再次参见图2,每个GPU芯粒还有2个用于选择性连接的电光通信端口连接至AWGR3和AWGR4。示意性的,参见图4,示出Allreduce互联的一种示意图,以8个GPU芯粒为例选择性连接模式可以根据深度学习任务中对应的集合通信算子,实现选择性连接,比如:GPU1与GPU2、GPU3、GPU5分别通过波长w1、w2、w3通信。选择性连接模式下,GPU芯粒之间的通信采用的波长可以是动态变化的。选择性连接模式下,支持可重构拓扑,可以用于深度学习任务中分布式训练过程中多对一、一对一、一对多或者多对多的集合通信的加速。比如:allreduce集合通信的加速。对于allreduce集合通信,本系统可以实现支持多种主流算法,包括Ring算法、Recursive Doubling(RD)算法、Having and Doubling(HD)算法。这些算法在分布式训练中得到广泛的应用。本系统可利用动态的拓扑重构,实现整条链路的带宽优化。对于Ring算法,拓扑可以配置为环状;而对于RD与HD算法,则可以采用高动态重构的方式进行拓扑的匹配。
如图5所示,RD算法共有log2X个步骤(X为GPU芯粒总数),在每一个步骤,芯粒仅与另一个芯粒进行通信,并且不同的步骤,其通信的目的节点不同。因此可以通过波长重构的方式在每个步骤之间重构波长,从而重构直连链路匹配RD算法。示意性的,系统对应的电光通信端口波长与路由关系对应表如表3所示。
表3
GPU1 | GPU2 | GPU3 | GPU4 | GPU5 | GPU6 | GPU7 | GPU8 | |
Step 1 | w1 | w1 | w5 | w5 | w1 | w1 | w5 | w5 |
Step 2 | w2 | w4 | w2 | w4 | w2 | w4 | w2 | w4 |
Step 3 | w4 | w6 | w0 | w2 | w4 | w6 | w0 | w2 |
例如,在选择性连接模式下,GPU1在算法的步骤1与GPU2通信,此时GPU1的电光通信端口将数据调制到w1波长的光信号上,该光信号为单波长信号,通过AWGR,该w1波长信号被交换至GPU2的电光通信端口,完成了数据交换。在步骤2,GPU1需要与GPU3通信,此时对应的电光通信端口将数据调制到w2波长的光信号上,光信号通过AWGR交换至GPU3对应的电光通信端口。在步骤3,GPU1需要与GPU5通信,此时对应的电光通信端口将数据调制到w4波长的光信号上,光信号通过AWGR交换至GPU5对应的电光通信端口。
根据本发明的一个实施例,所述硅光收发器件被配置为:至少能调制和解调O种不同波长的光信号,O=N+M,所述N表示CPU芯粒的总数量,所述M表示GPU芯粒的总数量。参见图6,硅光收发器可采用微环调制器(Mircoring Modulator,简称MR)作为光调制器与解调器,对于第一类模式,在发送数据的一端,电信号通过CU传输至硅光收发器所在的硅光芯片层,并由O个工作在不同波长(w1、w2、wN+M)的MR调制为WDM信号,通过光波导与AWGR传输至接收数据的一端,接收数据的一端会接受到WDM信号,通过MR进行解复用并使用光探测器进行光电转换,解调为O路电信号。
对于第二类模式,参见图7,假设为一对一的通信,电信号传输至硅光芯片层,有O个工作在不同波长的MR中的一个MR(图中红色)进行光信号的调制,通过光波导与AWGR传输至接收端,接收端收到的是单波长光信号,将该信号通过对应的MR和光探测器解调为单路电信号。
对于系统中各个部件的封装,可以按照以下形式设置。
根据本发明的一个实施例,所述阵列波导光栅路由器与所述芯粒通过3D堆叠技术封装在不同的芯片层。例如:各个芯粒封装在第一芯片层,各个阵列波导光栅路由器封装在第二芯片层,第一芯片层和第二芯片层相邻封装。另外,可以将所有CPU芯粒和GPU芯粒封装在第一芯片层。又或者,将所有CPU芯粒封装在第一芯片层,阵列波导光栅路由器封装在第二芯片层,将所有GPU芯粒封装在第三芯片层,所述第二芯片层封装于第一芯片层与第三芯片层之间。所有该实施例的技术方案至少能够实现以下有益技术效果:通过将所述阵列波导光栅路由器与所述芯粒通过3D堆叠技术封装在不同的芯片层,特别是相邻的芯片层,可以降低两者之间的通信距离,降低通信延迟。示意性的,该系统采用3D集成方案,其中所有芯粒与硅光器件(硅光收发器与AWGR)放置于不同的芯片层,不同的芯片层通过例如基于TSV(Through Silicon via,硅通孔)或者Micro Bump 3D(微凸点)的3D堆叠封装技术进行集成,从而降低电信号的传输距离,保证最大的通信带宽。
根据本发明的一个实施例,所述硅光收发器与所述阵列波导光栅路由器封装在同一芯片层。例如,各个硅光收发器封装在前述第二芯片层。该实施例的技术方案至少能够实现以下有益技术效果:各个硅光收发器和阵列波导光栅路由器封装在同一芯片层可以降低两者之间光波导的布局设计和工艺难度,使得系统的性能更可靠。
根据本发明的一个实施例,所述系统被配置为:在每个硅光收发器与其连接的电光通信端口之间设置用于通过电信号传输数据的硅通孔;以及在每个硅光收发器件与其连接的阵列波导光栅路由器之间设置用于通过光信号传输数据的光波导。
根据本发明的一个实施例,所述系统还包括:用于存储CPU芯粒或者GPU芯粒的数据的专用内存,每个CPU芯粒连接至少一个专用内存,每个GPU芯粒连接至少一个专用内存,所述专用内存为高带宽内存。
根据本发明的一个实施例,本发明还提供一种基于用于深度学习的芯粒互联系统的深度学习方法,方法包括:获取深度学习任务相关数据,所述深度学习任务相关数据包括初始的深度学习模型和用于训练模型的训练数据;由所述CPU芯粒将所述初始的深度学习模型的模型参数和训练数据通过CPU芯粒的电光通信端口、硅光收发器和阵列波导光栅路由器下发到执行训练的各个GPU芯粒;由各个GPU芯粒执行深度学习模型的深度学习任务并更新模型参数,并且在深度学习期间通过GPU芯粒的电光通信端口、硅光收发器和阵列波导光栅路由器交互模型参数、训练数据和中间特征数据;在深度学习完成后,由所述各个GPU芯粒通过电光通信端口、硅光收发器和阵列波导光栅路由器传输训练完成的模型参数至所述CPU芯粒。该实施例的技术方案至少能够实现以下有益技术效果:通过该方法,可以极大地降低深度学习任务中不同芯粒之间数据交互的通信延迟,避免芯粒长时间处于等待数据的过程,加速深度学习的进程,提升深度学习任务的效率。
总的来说,由于在封装的芯片基于电通信和硅光通信结合,采用波长调谐的方式,其速度可以达到纳秒级别,考虑到物理层链路重建开销与控制开销,每次的重构总时延为微秒级别甚至纳秒级别,与之相对的重构区间内的负载的传输时间可以达到数十甚至数百毫秒,极低重构时延保证了重构机制不会带来网络性能惩罚,极大地降低了深度学习的数据传输延迟,提升深度学习的效率。
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种用于深度学习的芯粒互联系统,所述芯粒中每个芯粒设有电光通信端口,所述芯粒分为CPU芯粒和GPU芯粒,所述系统包括:
至少一个CPU芯粒,其用于管控深度学习任务相关数据的收发与任务执行流程,并且所述CPU芯粒设有用于传输深度学习任务相关数据的电光通信端口;
多个GPU芯粒,其用于根据深度学习任务相关数据执行深度学习任务,并且所述GPU芯粒设有用于传输深度学习任务相关数据的电光通信端口;
多个硅光收发器,其中,每个电光通信端口连接有对应的硅光收发器,每个硅光收发器与其连接的电光通信端口之间通过电信号传输数据,每个硅光收发器将来自电光通信端口的电信号转换为光信号后发出;
多个阵列波导光栅路由器,用于将发送数据的芯粒通过硅光收发器发出的光信号路由至接收数据的芯粒对应的硅光收发器,以通过接收数据的芯粒对应的硅光收发器将光信号解调为电信号并传输给接收数据的芯粒,其中,所述阵列波导光栅路由器与所述芯粒通过3D堆叠技术封装在不同的芯片层。
2.根据权利要求1所述的系统,其特征在于,所述系统被配置为:
在每个硅光收发器与其连接的电光通信端口之间设置用于通过电信号传输数据的硅通孔;以及
在每个硅光收发器件与其连接的阵列波导光栅路由器之间设置用于通过光信号传输数据的光波导。
3.根据权利要求2所述的系统,其特征在于,所述系统被配置为:
根据所述深度学习任务对应的任务执行流程,由所述CPU芯粒控制所述多个GPU芯粒、所述多个硅光收发器和所述多个阵列波导光栅路由器,以按照所述任务执行流程中当前流程所需的集合通信拓扑算法完成GPU芯粒之间或者GPU芯粒与CPU芯粒之间的数据交互。
4.根据权利要求3所述的系统,其特征在于,所述系统被配置为:
CPU芯粒的总数量N小于GPU芯粒的总数量M,其中,N≥1,M≥2,并且
单个CPU芯粒的电光通信端口的总数量L小于单个GPU芯粒的电光通信端口的数量Q,L≥1,Q≥3,
阵列波导光栅路由器的总数量大于等于单个GPU芯粒上电光通信端口的数量Q;
单个阵列波导光栅路由器的端口数大于等于GPU芯粒和CPU芯粒的总数量。
5.根据权利要求4所述的系统,其特征在于,所述系统被配置为:
每个CPU芯粒的第1-L个电光通信端口分别连接第1-L个阵列波导光栅路由器的端口;
每个GPU芯粒的第1-Q个电光通信端口分别连接第1-Q个阵列波导光栅路由器的端口;
其中,第1个阵列波导光栅路由器用于所有CPU芯粒和所有GPU芯粒间的一对多或者多对多的集合通信,并且由对应的硅光收发器件以波分复用的方式调制发送至第1个阵列波导光栅路由器的光信号以及解调来自第1个阵列波导光栅路由器的光信号。
6.根据权利要求5所述的系统,其特征在于,所述系统被配置为:
第2个阵列波导光栅路由器用于所有GPU芯粒间的一对多或者多对多的集合通信,并且由对应的硅光收发器件以波分复用的方式调制发送至第2个阵列波导光栅路由器的光信号以及解调来自第2个阵列波导光栅路由器的光信号。
7.根据权利要求6所述的系统,其特征在于,所述系统被配置为:所述第3-Q个阵列波导光栅路由器用于所有GPU芯粒间的一对多、多对多或者一对一的集合通信,并且由对应的硅光收发器件以波分复用或者单波长的方式调制发送至第3-Q个阵列波导光栅路由器的光信号以及解调来自第3-Q个阵列波导光栅路由器的光信号。
8.根据权利要求4-7之一所述的系统,其特征在于,所述硅光收发器件被配置为:至少能调制和解调O种不同波长的光信号,其中,O=N+M,N表示CPU芯粒的总数量,M表示GPU芯粒的总数量。
9.根据权利要求1-7之一所述的系统,其特征在于,所述系统还包括:用于存储CPU芯粒或者GPU芯粒的数据的专用内存,每个CPU芯粒连接至少一个专用内存,每个GPU芯粒连接至少一个专用内存,所述专用内存为高带宽内存。
10.一种基于权利要求1-10之一所述系统的深度学习方法,其特征在于,所述方法包括:
获取深度学习任务相关数据,所述深度学习任务相关数据包括初始的深度学习模型和用于训练模型的训练数据;
由所述CPU芯粒将所述初始的深度学习模型的模型参数和训练数据通过CPU芯粒的电光通信端口、硅光收发器和阵列波导光栅路由器下发到执行训练的各个GPU芯粒;
由各个GPU芯粒执行深度学习模型的深度学习任务并更新模型参数,并且在深度学习期间通过GPU芯粒的电光通信端口、硅光收发器和阵列波导光栅路由器交互模型参数、训练数据和中间特征数据;
在深度学习完成后,由所述各个GPU芯粒通过电光通信端口、硅光收发器和阵列波导光栅路由器传输训练完成的模型参数至所述CPU芯粒。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311122958.3A CN117151183A (zh) | 2023-09-01 | 2023-09-01 | 一种用于深度学习的芯粒互联系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311122958.3A CN117151183A (zh) | 2023-09-01 | 2023-09-01 | 一种用于深度学习的芯粒互联系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117151183A true CN117151183A (zh) | 2023-12-01 |
Family
ID=88904056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311122958.3A Pending CN117151183A (zh) | 2023-09-01 | 2023-09-01 | 一种用于深度学习的芯粒互联系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117151183A (zh) |
-
2023
- 2023-09-01 CN CN202311122958.3A patent/CN117151183A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11860413B2 (en) | Photonic communication platform | |
US20240201436A1 (en) | Electro-photonic network for machine learning | |
US7889996B2 (en) | Optical-signal-path routing in a multi-chip system | |
US20100266276A1 (en) | Broadband and wavelength-selective bidirectional 3-way optical splitter | |
US9955243B2 (en) | Scalable silicon photonic switching architectures for optical networks | |
US20150071632A1 (en) | Reconfigurable optical interconnect network | |
Ahmed et al. | PHENIC: Silicon photonic 3D-network-on-chip architecture for high-performance heterogeneous many-core system-on-chip | |
Michelogiannakis et al. | Efficient intra-rack resource disaggregation for HPC using co-packaged DWDM photonics | |
Zhang et al. | Photonic network-on-wafer for multichiplet GPUs | |
CN117151183A (zh) | 一种用于深度学习的芯粒互联系统 | |
Wen et al. | Silicon photonic memory interconnect for many-core architectures | |
CN115663589A (zh) | 分布式光交换互连集成芯片及互连系统 | |
Ho et al. | Optical interconnect for high-end computer systems | |
US20230297237A1 (en) | Photonic memory fabric for system memory interconnection | |
Tseng et al. | Efficiency-Oriented Design Automation Methods for Wavelength-Routed Optical Network-on-Chip | |
Wang et al. | Universal method for designing non-blocking multicast-supported on chip optical router | |
Carmean et al. | Photonic-integrated circuits and optical fabrics for heterogeneous computing systems | |
US20240219635A1 (en) | Photonic communication platform | |
Sunny et al. | Silicon Photonic 2.5 D Interposer Networks for Overcoming Communication Bottlenecks in Scale-out Machine Learning Hardware Accelerators | |
US20220116692A1 (en) | Degree Switching Configuration For Network Architecture | |
Bengtsson et al. | A high-performance embedded massively parallel processing system | |
Ho et al. | Optical interconnects in the data center | |
Jian et al. | Graphein: a novel optical high-radix switch architecture for 3D integration | |
JP2023533842A (ja) | プログラムマブルマルチコアフォトニック集積回路及び関連する動作方法 | |
JP5257710B2 (ja) | 光集積回路装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |