您的位置:主页 > 公司动态 > 公司新闻 > 公司新闻
开源之风吹向存算一体芯片
作为继X86和ARM之后的新星,RISC-V的兴起能够说是一次成功的技能演进。RISC-V指令集作为CPU范畴的开源指令集,极大的促进了CPU新式生态的构成。RISC-V的成功充沛展现了开源思想在技能创新和生态构建上的巨大力量。
近年来,存算一体芯片凭仗其革命性的架构,逐步走入人们的视界,而且展现了巨大的潜力和远景。可是存算范畴尚缺少相似RISC-V这样的敞开的指令集。尤其在国内环境下,敞开的指令集为我国存算一体芯片的研制供给了自主可控的技能途径,有助于削减对外部技能和专利的依靠。
存算一体芯片现在开展面临的应战
存算一体芯片作为一种新式架构,能够有用处理传统冯·诺依曼架构在处理人工智能算法时功能和能效存在的访存瓶颈约束。尤其是根据穿插阵列的存算一体技能,经过在存储器中原位履行矩阵向量乘,运用存储单元的固有并行度大幅进步核算功能,并消除部分访存,能够成百上千倍地进步深度神经网络推理的功能和能效。
近些年来,学术界在存算一体的各个方面都进行了很多探究,提出了很多存算一体加速器架构,中科院微电子所、清华大学、斯坦福大学等单位也制备出了存算一体芯片原型。国内也出现出了一批存算一体草创企业,包括知存科技、后摩智能、亿铸科技、苹芯科技等等,它们研制了根据SRAM、闪存、RRAM等存储器的存算一体芯片,且已有产品面世。
但是,当时存算一体芯片的开展还处于起步阶段,面临着许多应战,其间最重要一点就是生态与编程结构不完善,缺少相应的指令集与软件东西。
一方面,各单位、公司开发的存算一体芯片均根据自行界说的编程接口,缺少一致的编程接口,造成了存算一体软件生态的涣散,不同厂商开发的上层软件无法相互通用,极大的影响了存算一体芯片的大规模运用。
另一方面,除了高效的硬件规划,神经网络模型面向存算一体架构时,核算使命怎么映射、调度,也是发挥神经网络加速器功能和能效的要害。
全体而言,现阶段,职业界尚缺少神经网络面向存算一体芯片的自动化布置办法和东西。
存算一体芯片有了开源指令集和编译器
咱们注意到,在本年的集成电路EDA范畴*会议IEEE/ACM Design Automation Conference(DAC)上,我国科学院核算技能研讨所智能核算机中心陈晓明和韩银和研讨员团队宣布论文,发布了一项新的研讨成果:PIMCOMP-NN存算一体通用编译器和PIMSIM-NN——存算一体通用模仿器,二者根据一套之前该团队开源的存算一体指令集,构成了完好的开源存算一体东西链,该项作业或将为存算一体芯片树立一致的生态做出必定的奉献。
下面让咱们来剖析下他们的这项研讨。
该论文详细描绘了一整套面向神经网络的存算一体东西链,结构如图1所示。这套东西链的中心由两部分组成:
编译器PIMCOMP-NN:编译器PIMCOMP-NN接纳ONNX格局的神经网络描绘和一组存算一体架构装备参数作为输入,经过编译优化生成指令序列。
模仿器PIMSIM-NN接纳编译器:模仿器PIMSIM-NN接纳编译器生成的指令序列和架构装备参数(与编译器所用相同)作为输入,经过行为级模仿,得到神经网络在存算一体架构上运转的功能、能耗和功耗。
该套东西根据一致的对软硬件笼统建模而开发,不针对详细的存算一体芯片,也不约束存算一体器材,因此可向上对接不同的神经网络算法,向下屏蔽存算一体芯片硬件细节。
图1 面向神经网络的存算一体东西链
该东西链树立在一套面向神经网络的存算一体指令集根底上。指令集作为芯片软硬件规划的接口,关于软件生态有着举足经重的效果,为了使东西链对多种多样的存算一体芯片的底层操作具有通用性,该课题组首要笼统了存算一体架构支撑的根本算子,界说了一套一致的面向神经网络的存算一体指令集。
这些指令有四类,别离是矩阵指令(例如矩阵向量乘)、向量指令(例如向量加)、标量指令(主要是传统寄存器操作)和传输指令(主要是各级存储间的数据传输指令),其间每个指令对应硬件的一个笼统操作。面临详细存算一体芯片时,可经过转化程序方便地翻译到详细的硬件指令上。
进一步来看,PIMCOMP-NN是一个面向存算阵列架构的神经网络通用编译结构,它树立在对硬件架构和算子的一致笼统根底之上。为完结对上层算法的通用性,PIMCOMP-NN选用ONNX格局的神经网络描绘作为输入,因此能够处理多种多样的神经网络模型。为完结对硬件架构的通用性,PIMCOMP-NN树立在一个笼统的存算架构之上,如图2所示。该笼统架构由多个中心构成,每个中心包括存算一体矩阵单元来完结矩阵-向量乘法运算和向量核算单元来完结向量核算。课题组界说了一组一致的参数来描绘该笼统架构。该架构可适配已有研讨中广泛选用的多层次Crossbar/PE/Tile/Chip结构,包括宣布在ISCA、ASPLOS、ISSCC等多个顶会上的多种存算一体加速器。
图2 笼统存算一体架构
PIMCOMP-NN完结了从神经网络结构描绘到指令流的自动化生成,并在编译过程中优化使命映射和调度,其结构如图3所示。编译器前端将读取用户供给的笼统架构装备参数(阵列尺度、中心数目、芯片数目等),一起加载根据ONNX的神经网络模型,经过预处理得到神经网络模型的拓扑联系和参数信息。编译器后端包括四个通用编译优化阶段:节点区分、权重仿制、中心映射和数据流调度,这四个阶段均在所界说的伪指令集根底上施行。经过节点区分,灵敏地将权重数据进行拆分以习惯阵列尺度。经过权重仿制,充沛运用存算阵列资源。经过中心映射,高效分配核算使命。经过数据流调度,发生运转完好神经网络的指令流。此外,为了习惯不同运用场景,论文规划了两种具有不同层间流水线粒度的编译形式,别离具有高吞吐量和低推迟的特色,在编译过程中别离优化全体吞吐量和推理推迟。
图3 PIMCOMP-NN编译器结构
PIMSIM-NN是一个根据指令的存算一体体系模仿器,PIMSIM-NN的全体架构如图4所示,从上到下别离是芯片-中心-根底模块-模仿引擎SystemC,整个芯片由多个中心经过片上互连网络连接构成,中心则由多个内部模块构成,中心内部模块运用根底模块树立,终究在SystemC的结构下运转。PIMSIM-NN接纳指令序列文件和架构装备文件作为输入。指令序列文件包括每个中心的指令序列,由编译器PIMCOMP-NN生成。架构装备文件则对存算一体架构的各项参数进行装备,使模仿器能够仿真不同的存算一体架构。中心规划是PIMSIM-NN的要点,主要有4个处理单元,别离是矩阵单元、向量单元、传输单元和标量单元。矩阵单元的中心是存算阵列单元,其会预先写入权重数据,在运转时原地履行矩阵-向量乘运算,防止权重数据的转移,下降推迟和功耗。向量单元则担任激活函数和池化等操作,完结一些非线性操作。传输模块则担任核间的数据交换,传输少数的中心成果,并担任核间同步操作。PIMSIM-NN选用了事情驱动仿真模型,根据开源的事情驱动引擎SystemC编写,具有杰出的扩展性并能得到准确的仿真成果。PIMSIM-NN根据图5所示的笼统流水线架构进行仿真,各模块经过SystemC建模,在事情驱动的引擎中,在仿真过程中高效地进行交互。
图4 PIMSIM-NN模仿器结构
图5 PIMSIM-NN的流水线架构
运用该套东西链,可完结深度神经网络在存算一体架构上的快速自动化布置,它不只在布置过程中优化了使命映射和调度,还对生成的指令序列进行相关功能指标的评价。与此一起,该套东西链相较于之前的存算一体架构模仿器有了较大的改善。从前的模仿器大多选用数据流架构,能够支撑的网络结构固定,网络映射方法单一,而该东西链根据笼统的存算一体指令集架构,在编译器的支撑下能够处理更多的网络结构,并支撑更灵敏的核算使命映射方法。编译器供给了多种预设的编译优化计划可供挑选,一起也能够修正编译器代码完结其它编译优化计划,经过结合模仿成果的迭代反应可进一步完结编译空间探究,寻觅针对给定存算一体架构的*的编译优化战略,乃至是编译优化与架构规划结合的软硬件协同规划。
结语
我国科学院核算技能研讨所智能核算机中心所推出的完好开源存算一体东西链,能够说是存算一体范畴的一项重要打破。这一东西链不只增强了存算一体架构的定制化和灵敏性,还促进了深度神经网络在存算一体架构上的高效自动化布置。
跟着开源理念在存算一体范畴的拓宽,将有助于职业树立一致的编程和接口标准,从而使来自不同厂商和研讨机构的产品完结互通。这一标准化进程将有助于处理现在存算一体芯片范畴的碎片化问题,进步生态体系的协同功率。进一步推进存算一体芯片更简单与人工智能、大数据、物联网等工业相结合,构成愈加丰厚和杂乱的运用场景。
参阅资料
详细技能细节可参阅该团队宣布在DAC2023上的论文, Xiaotian Sun, Xinyu Wang, Wanqian Li, Lei Wang, Yinhe Han, Xiaoming Chen, “PIMCOMP: A Universal Compilation Framework for Crossbar-based PIM DNN Accelerators”, in Design Automation Conference (DAC’23)。
其间,编译器开源地址:
模仿器开源地址:
下一篇:江浙沪独生女走红的背面