基于芯粒架构的多核封装级系统及其面向芯粒的任务映射方法技术方案

技术编号:26891325 阅读:17 留言:0更新日期:2020-12-29 16:09
本发明专利技术一种基于芯粒架构的多核封装级系统及其面向芯粒的任务映射方法,所述系统包括核心单元、芯粒单元和封装单元;核心单元包括多个并行的处理单元,以及多个处理单元共享的L1本地缓冲单元;L1本地缓冲单元仅用于存储权重数据;芯粒单元包括多个并行的核心单元,以及多个核心单元共享的L2共享缓冲单元;L2共享缓冲单元仅用于存储激活数据;封装单元包括多个并行且互联的芯粒单元,以及多个芯粒单元共享的DRAM存储。所述方法通过对芯粒Chiplet计算映射、芯粒Chiplet间的计算映射、芯粒Chiplet内PE阵列计算映射的数据分配模板,以及每层计算的规模分配进行方案搜索,以实现更少的片间通信、更小的片上存储以及更少的DRAM访问。

【技术实现步骤摘要】
基于芯粒架构的多核封装级系统及其面向芯粒的任务映射方法
本专利技术涉及多核芯片系统及映射方法,具体为面向芯粒架构与系统的深度神经网络高效任务映射与调度方法。
技术介绍
随着芯片制造尺寸的不断减小,依赖尺寸缩减的摩尔定律的发展进度已趋缓,并且采用先进工艺节点下,成本开销非常大。因此在先进工艺节点下需要控制芯片的面积。十年前,由于“功耗墙”的存在,处理器的设计从提升主频迁移到多核设计;现在,由于“成本墙”的存在,处理器的设计从提升集成密度即将需要迁移到多芯片封装的方案。为了解决“成本墙”的问题,芯粒(Chiplet)技术应运而生。Chiplet是一颗颗商品化的、具有某一功能特征的芯片,如CPU,GPU,Accelerator,MEMIO,芯片通过集成若干数量的Chiplet来提升集成度,构成封装级系统(SoP)。对于同种Chiplet,芯片制造所需的光刻掩模板是可以复用的,而解耦出来的不同类型Chiplet可以采用不同制造工艺,从而降低了芯片制造成本,同时也获得了更高的集成度,另外小面积芯片亦可提升制造的良率。目前已有包括AMD,Intel在内的许多厂商通过Chiplet方案来提升CPU集成。在AMD的Zeppelin设计中,他们在封装上集成四个Chiplet,实现32核处理器的设计,同时降低了70%的成本,并提高了17%的良率。尤其在AI计算领域,由于大数据和机器学习的革命对计算资源提出了前所未有的需求,同样需要AI处理器具备高集成度的特点,以满足高算力的需求。TeslaFSD采用14nm工艺,在314mm2面积下实现72TOPS算力;华为昇腾910采用7nm工艺,在1228mm2面积下实现512TOPS算力;阿里含光800采用12nm工艺,在709mm2面积下实现825TOPS算力。由此可见,实现高算力的同时,带来了较大的面积开销。因此NVIDIA基于Chiplet方案设计了AI计算芯片Simba。Simba采用16nm工艺,每个Chiplet只有6mm2,最高算力为4TOPS;通过36个Chiplet的集成,可以实现最高127.8TOPS的算力,与TeslaFSD相比,Simba只需16nm工艺下约6mm2的掩模板成本,即可实现近1.8倍的算力。然而,Simba的Chiplet方案仅实现计算核心集成,数据由FPGA提供到一个Chiplet再路由到整个封装上网络(NoP),系统中并不包含DDRPHY等部分的集成。此外,单芯片多核CPU的编译已在过去十多年中有了充分的研究,但是面向多芯片多核CPU的编译仍存在研究的空间,旨在降低片间的通信开销,使得相关任务可以更好地聚集在单芯片上,从而降低通信开销。特别地,在AI领域中,虽然面向单芯片深度神经网络DNN的计算映射已得到深入的研究,但是并没有针对Chiplet系统下的研究。在Simba所采用的6×6Chiplet网络中,虽然对NoP数据路由做路径优化、对Chiplet集群作任务划分,但是对卷积计算的循环展开与循环折叠策略是静态的,导致Chiplet通信没有得到优化,且每个Chiplet亦需配备高达640KB的SRAM,访存的开销较大。现有技术中,系统级的Chiplet需要解决以下问题:1)Chiplet之间的互联形式;2)Chiplet和DRAM的分配形式。1)Chiplet之间的互联常见为2D-MeshNoC的形式,虽然扩展性良好,却需要带来比较复杂的NoC硬件设计以及与NoC配套的路由算法,且大规模NoC存在较明显的不同步问题。2)Chiplet与DRAM之间的互联方案。目前已有方案中,可归纳为两大类:在NVIDIA的Simba中,仅有部分Chiplet与DRAM互联,再由此路由至其他Chiplet;在AMD方案中,每个Chiplet均可访问所有DRAM,只是有时延的差异。前者存在较大的路由时延问题,后者难以避免会出现访问冲突导致带宽效率下降的问题。AI任务中存在许多共享的数据,一是需要降低访问冲突,二是需要减少冗余数据拷贝,故需与DNN映射配合起来,寻找合适解决方案。
技术实现思路
针对现有技术中存在的问题,本专利技术提供一种基于芯粒架构的多核封装级系统及其面向芯粒的任务映射方法,结构简单,设计合理,并行层次多,访存开销小。本专利技术是通过以下技术方案来实现:基于芯粒架构的多核封装级系统,包括核心单元、芯粒单元和封装单元;所述的核心单元包括多个并行的处理单元,以及多个处理单元共享的L1本地缓冲单元;L1本地缓冲单元仅用于存储权重数据;所述的芯粒单元包括多个并行的核心单元,以及多个核心单元共享的L2共享缓冲单元;L2共享缓冲单元仅用于存储激活数据;所述的封装单元包括多个并行且互联的芯粒单元,以及多个芯粒单元共享的DRAM存储。优选的,所述的封装单元中多个的芯粒单元之间采用环状总线进行环状互联。优选的,所述的芯粒层级和封装层级采用输出稳定数据流OS,在核心层级上采用权重稳定数据流WS。优选的,L1本地缓冲单元中,输入采用SRAM进行缓冲,输出采用寄存器缓冲。基于芯粒架构的多核封装级系统面向芯粒的任务映射方法,基于芯粒架构的多核封装级系统如上任意一项方案所述,所述方法包括,在核心单元进行任务处理的核心层级上,任意核心单元内的多个处理单元并行处理该核心单元任务;在芯粒单元进行任务处理的芯粒层级上,任意芯粒单元内的多个核心单元并行处理该芯粒单元任务;在封装单元进行任务处理的封装层级上,任意封装单元内的多个芯粒单元并行处理该封装单元任务;将各层级中的不同并行单元进行划分,以并行单元一次处理的量为单位,规划循环展开的次序以及次数,对各层级中的任务进行处理。优选的,在核心单元任务处理时,采用多组向量乘法对不同处理单元进行划分处理核心单元任务,实现对输出通道并行度为向量乘法组数的输出;采用WS数据流形式,将固定权重在缓冲端口的数据复用输出缓冲矩阵大小的次数,遍历一个卷积核尺寸大小的权重进行累加计算,实现对输入通道的累加计算。优选的,在芯粒单元任务处理时,采用Kc,Xc和Yc三个维度对核心单元进行划分对芯粒单元任务进行处理;其中,Xc和Yc为特征图的长宽大小;Kc为输出通道数量;在一个芯粒单元的若干核心单元中,对Kc-Yc-Xc进行不同数目的分配,对划分后的芯粒单元任务进行处理。优选的,在封装单元任务处理时,当多个芯粒单元之间以输出通道维度切割封装单元任务,多个芯粒单元之间共用相同的激活输入;按照输入通道划分为Kp组分配到不同的芯粒单元上,每组包含C0×C1个输入通道;其中,Kp为输出通道维度,C0为多组向量乘法中每组向量乘法的规模,C1为核心层级中的循环系数;当芯粒单元完成一组运算后,将按照环状互联把本地的一组激活输入传送到下一个芯粒单元,同时接收来自前一个芯粒单元的一组激活输入;循环传递Kp次后,完成所有输入通道的累加计算;当多个芯粒单元之间以平面方向切割封装单元任务时,多个芯本文档来自技高网
...

【技术保护点】
1.基于芯粒架构的多核封装级系统,其特征在于,包括核心单元、芯粒单元和封装单元;/n所述的核心单元包括多个并行的处理单元,以及多个处理单元共享的L1本地缓冲单元;L1本地缓冲单元仅用于存储权重数据;/n所述的芯粒单元包括多个并行的核心单元,以及多个核心单元共享的L2共享缓冲单元;L2共享缓冲单元仅用于存储激活数据;/n所述的封装单元包括多个并行且互联的芯粒单元,以及多个芯粒单元共享的DRAM存储。/n

【技术特征摘要】
1.基于芯粒架构的多核封装级系统,其特征在于,包括核心单元、芯粒单元和封装单元;
所述的核心单元包括多个并行的处理单元,以及多个处理单元共享的L1本地缓冲单元;L1本地缓冲单元仅用于存储权重数据;
所述的芯粒单元包括多个并行的核心单元,以及多个核心单元共享的L2共享缓冲单元;L2共享缓冲单元仅用于存储激活数据;
所述的封装单元包括多个并行且互联的芯粒单元,以及多个芯粒单元共享的DRAM存储。


2.根据权利要求1所述的基于芯粒架构的多核封装级系统,其特征在于,所述的封装单元中多个的芯粒单元之间采用环状总线进行环状互联。


3.根据权利要求1所述的基于芯粒架构的多核封装级系统,其特征在于,所述的芯粒层级和封装层级采用输出稳定数据流OS,在核心层级上采用权重稳定数据流WS。


4.根据权利要求1所述的基于芯粒架构的多核封装级系统,其特征在于,L1本地缓冲单元中,输入采用SRAM进行缓冲,输出采用寄存器缓冲。


5.基于芯粒架构的多核封装级系统面向芯粒的任务映射方法,其特征在于,基于芯粒架构的多核封装级系统如权利要求1-4任意一项所述,所述方法包括,
在核心单元进行任务处理的核心层级上,任意核心单元内的多个处理单元并行处理该核心单元任务;
在芯粒单元进行任务处理的芯粒层级上,任意芯粒单元内的多个核心单元并行处理该芯粒单元任务;
在封装单元进行任务处理的封装层级上,任意封装单元内的多个芯粒单元并行处理该封装单元任务;
将各层级中的不同并行单元进行划分,以并行单元一次处理的量为单位,规划循环展开的次序以及次数,对各层级中的任务进行处理。


6.根据权利要求5所述的基于芯粒架构的多核封装级系统面向芯粒的任务映射方法,其特征在于,在核心单元任务处理时,
采用多组向量乘法对不同处理单元进行划分处理核心单元任务,实现对输出通道并行度为向量乘法组数的输出;
采用WS数据流形式,将固定权重在缓冲端口的数据复用输出缓冲矩阵大小的次数,遍历一个卷积核尺寸大小的权重进行累加计算,实现对输入通道的累加计算。


7.根据权利要求5所述的基于芯粒架构的多核封装级系统面向芯粒的任务映射方法,其特征在于,在芯粒单元任务处理时,
采用Kc,Xc和Yc三个维度对核心单元进行划分对芯粒单元任务进行处理;...

【专利技术属性】
技术研发人员:马恺声谭展宏
申请(专利权)人:交叉信息核心技术研究院西安有限公司
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1