基于轻量级消息和共享局部存储器的协同计算系统及方法技术方案

技术编号:35580324 阅读:28 留言:0更新日期:2022-11-12 16:08
本发明专利技术属于高性能微处理器领域,涉及基于轻量级消息和共享局部存储器的协同计算系统及方法。包括:S1主核心执行核心算法;S2判断是否执行到加速计算部分,若否则返回步骤S1,若是则执行步骤S3;S3主核心继续执行程序中的核心算法,并同时发送轻量级消息至数据中转处理器;S4数据中转处理器在局部数据存储器中提取相应位置处的原始数据并转发至异构核心;S5异构核心进行相应计算以得到相应的结果数据,并将结果数据返回至数据中转处理器;S6数据中转处理器将结果数据发送至局部数据存储器,局部数据存储器将结果数据存储至相应位置处,以供主核心提取。本发明专利技术提供基于轻量级消息和共享局部存储器的协同计算系统及方法,系统结构简洁、交互性能高。交互性能高。交互性能高。

【技术实现步骤摘要】
基于轻量级消息和共享局部存储器的协同计算系统及方法


[0001]本专利技术属于高性能微处理器领域,具体涉及基于轻量级消息和共享局部存储器的协同计算系统及方法。

技术介绍

[0002]异步并发处理常常是用来对一些专用领域进行加速处理的有效方法,人工智能领域常见的异步处理结构如CPU+TPU,CPU和TPU之间是异步并发处理结构,共享主存储器,CPU负责串行和控制流部分的处理,TPU则对人工智能领域的专用运算,特别是卷积运算进行加速处理,两者主要通过主存进行数据交换。
[0003]人工智能和科学计算领域存在一些特征明显的核心计算,比如智能领域的卷积运算是非常典型的计算类型。对于这些领域的专用的核心计算,通常的处理器并不能高效的处理,一些加速器通过支持这些专用计算实现了很高的处理性能,但是主处理器与加速器之间通过主存进行协同计算,交互成本比较高。
[0004]并且由于异构芯片间主要通过主存进行数据交互,交互延迟较长,频繁的交互会极大的降低性能加速带来的收益。片上异构核心间协同可以降低加速核心与主处理核心间的交互延迟,但是由于加速核心的实现比较完备,导致实现开销比较大。如何针对科学计算和人工智能领域存在的多种数据处理操作需求。提出一种交互成本低、实现开销小的异构核心间协同计算的交互机制具有重要的现实意义。

技术实现思路

[0005]针对现有技术中存在的上述问题,本专利技术提供基于轻量级消息和共享局部存储器的协同计算系统及方法,具有系统结构简洁,交互性能高的特点。
[0006]本专利技术采用以下技术方案:基于轻量级消息和共享局部存储器的协同计算系统,包括主核心模块、数据中转处理模块、局部数据存储模块、异构核心模块,所述主核心模块、数据中转处理模块、局部数据存储模块依次联接,数据中转处理模块还与异构核心模块联接,主核心模块还与局部数据存储模块联接;局部数据存储模块,用于存储原始数据以及结果数据;主核心模块,用于持续执行程序中的核心算法,并在执行到加速计算部分时,发送包含原始数据区和结果数据区的位置和长度信息的轻量级消息至数据中转处理模块;数据中转处理模块,用于根据所述轻量级消息在局部数据存储模块中提取相应位置处的原始数据,并转发至异构核心模块;异构核心模块,用于根据接收到的原始数据进行相应计算,以得到相应的结果数据,并将结果数据返回至数据中转处理模块;数据中转处理模块,还用于将结果数据发送至局部数据存储模块中,局部数据存储模块将结果数据存储至相应位置处,以供主核心模块提取。
[0007]作为优选方案,系统包括多个异构核心模块,数据中转处理模块分别与多个异构核心模块联接;所述主核心模块发送至数据中转处理模块的轻量级消息还包括算法类型信息;数据中转处理模块,用于根据轻量级消息中的算法类型信息,将提取的原始数据转发至执行相应算法类型的异构核心模块。
[0008]作为优选方案,所述多个异构核心模块包括卷积运算异构核心模块、矩阵转置运算异构核心模块。
[0009]作为优选方案,异构核心模块包括相联的计算单元以及数据暂存单元,计算单元、数据暂存单元均与数据中转处理模块联接;计算单元,用于根据接收到的原始数据进行相应计算,以得到相应的结果数据;数据暂存单元,用于暂存计算单元计算过程中的结果数据,并在计算单元计算结束后,将所有的结果数据返回至数据中转处理模块。
[0010]作为优选方案,数据中转处理模块包括消息转发子模块、数据中转子模块,数据中转子模块包括描述符管理与解析单元、数据加载单元、数据写回单元、局存访问接口单元,消息转发子模块分别与主核心模块、描述符管理与解析单元联接,描述符管理与解析单元还分别与数据加载单元、数据写回单元联接,局存访问接口单元分别与数据加载单元、数据写回单元、局部数据存储模块联接。
[0011]作为优选方案,所述计算单元与数据加载单元联接,所述数据暂存单元与数据写回单元联接。
[0012]还公开了基于轻量级消息和共享局部存储器的协同计算方法,基于上述的基于轻量级消息和共享局部存储器的协同计算系统,包括步骤:S1、主核心执行程序中的核心算法;S2、判断主核心是否执行到加速计算部分,若否则返回步骤S1,若是则执行步骤S3;S3、主核心继续执行程序中的核心算法,并同时发送包含原始数据区和结果数据区的位置和长度信息的轻量级消息至数据中转处理器;S4、数据中转处理器根据所述轻量级消息在局部数据存储器中提取相应位置处的原始数据,并转发至异构核心;S5、异构核心根据接收到的原始数据进行相应计算,以得到相应的结果数据,并将结果数据返回至数据中转处理器;S6、数据中转处理器将结果数据发送至局部数据存储器中,局部数据存储器将结果数据存储至相应位置处,以供主核心提取。
[0013]作为优选方案,步骤S3中,所述轻量级消息还包括算法类型信息;步骤S4中,所述数据中转处理器还根据轻量级消息中的算法类型信息,将提取的原始数据转发至执行相应算法类型的异构核心。
[0014]作为优选方案,算法类型包括卷积运算、矩阵转置运算。
[0015]作为优选方案,异构核心包括卷积运算异构核心、矩阵转置运算异构核心。
[0016]本专利技术的有益效果是:本专利技术实现的异构核心间协同计算和交互机制,可以完成加速计算和数据处理,
能实现异构核心间的异步执行,方便具有核心的协同计算和细粒度交互。
[0017]本专利技术实现的交互机制,具有一定粒度(指令)控制的方式,编程灵活,通用性较好。
[0018]本专利技术通过局存的方式进行访问交换数据,交换几个B到几KB均可,因此访问延迟仅只有几拍,访问的一路上都能流水且没有气泡(通常访问源少,冲突也少),局存交互比较轻量。
[0019]本专利技术中主核心发送的消息仅包括算法类型信息、原始数据区和结果数据区的位置和长度信息,仅携带必要的控制信息,即通过轻量级消息转发。
[0020]本专利技术设置多个异构核心模块,可执行不同的算法,使协同计算系统在具有上述优势的基础上适应性更强,可适配具有多种算法的程序,进而满足科学计算和人工智能领域存在的多种数据处理操作需求。
附图说明
[0021]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0022]图1是本专利技术所述基于轻量级消息和共享局部存储器的协同计算系统的结构示意图;图2是顺序处理和异步并发处理的示意图;图3是本专利技术所述的基于轻量级消息和共享局部存储器的协同计算方法的流程图。
具体实施方式
[0023]以下通过特定的具体实施例说明本专利技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本专利技术的其他优点与功效。本专利技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本专利技术的精神下进行本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于轻量级消息和共享局部存储器的协同计算系统,其特征在于,包括主核心模块、数据中转处理模块、局部数据存储模块、异构核心模块,所述主核心模块、数据中转处理模块、局部数据存储模块依次联接,数据中转处理模块还与异构核心模块联接,主核心模块还与局部数据存储模块联接;局部数据存储模块,用于存储原始数据以及结果数据;主核心模块,用于持续执行程序中的核心算法,并在执行到加速计算部分时,发送包含原始数据区和结果数据区的位置和长度信息的轻量级消息至数据中转处理模块;数据中转处理模块,用于根据所述轻量级消息在局部数据存储模块中提取相应位置处的原始数据,并转发至异构核心模块;异构核心模块,用于根据接收到的原始数据进行相应计算,以得到相应的结果数据,并将结果数据返回至数据中转处理模块;数据中转处理模块,还用于将结果数据发送至局部数据存储模块中,局部数据存储模块将结果数据存储至相应位置处,以供主核心模块提取。2.根据权利要求1所述的基于轻量级消息和共享局部存储器的协同计算系统,其特征在于,系统包括多个异构核心模块,数据中转处理模块分别与多个异构核心模块联接;所述主核心模块发送至数据中转处理模块的轻量级消息还包括算法类型信息;数据中转处理模块,用于根据轻量级消息中的算法类型信息,将提取的原始数据转发至执行相应算法类型的异构核心模块。3.根据权利要求2所述的基于轻量级消息和共享局部存储器的协同计算系统,其特征在于,所述多个异构核心模块包括卷积运算异构核心模块、矩阵转置运算异构核心模块。4.根据权利要求1所述的基于轻量级消息和共享局部存储器的协同计算系统,其特征在于,异构核心模块包括相联的计算单元以及数据暂存单元,计算单元、数据暂存单元均与数据中转处理模块联接;计算单元,用于根据接收到的原始数据进行相应计算,以得到相应的结果数据;数据暂存单元,用于暂存计算单元计算过程中的结果数据,并在计算单元计算结束后,将所有的结果数据返回至数据中转处理模块。5.根据权利要求4所述的基于轻量级消息和共享局部存储器的协同计算系统,其特征在于,...

【专利技术属性】
技术研发人员:高剑刚过锋唐勇吴铁彬高红光谭弘兵
申请(专利权)人:无锡江南计算技术研究所
类型:发明
国别省市:

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

1