支持在多个芯片之间通信的方法、装置、电子设备和计算机存储介质制造方法及图纸

技术编号:26845434 阅读:12 留言:0更新日期:2020-12-25 13:07
本公开的实施例涉及一种确定多个芯片之间的连接关系的方法、装置、电子设备和计算机可读存储介质。该方法可以包括确定由主机管理的多个芯片的身份信息,多个芯片通过各自的用于片间通信的片间通信接口相连接。该方法还可以包括使多个芯片中的一个或多个芯片获取与一个或多个芯片的片间通信接口连接的其他芯片的身份信息。该方法可以进一步包括经由一个或多个芯片的用于与主机通信的管理接口读取该其他芯片的身份信息,以确定多个芯片之间的连接关系。本公开的技术方案通过各芯片的片间通信接口来确定与之连接的芯片,从而可以在主机侧创建并维护该芯片网络的物理连接矩阵,进而为芯片网络连接的故障检测以及芯片网络拓扑的动态配置提供便利。

【技术实现步骤摘要】
支持在多个芯片之间通信的方法、装置、电子设备和计算机存储介质
本公开的实施例主要涉及计算机领域,并且更具体地,涉及支持在多个芯片之间通信的方法、装置、电子设备和计算机可读存储介质。
技术介绍
随着计算机技术的发展,人工智能应用对算力的需求越来越高。然而,由于工艺和功耗等限制,单个芯片(诸如人工智能芯片、GPU等)的算力已不能满足对处理速度的需求。因此,需要将多个芯片相互连接以组成芯片网络,来满足人工智能应用的需求。因此,芯片间的通信(即片间通信)存在优化的必要,以实现高带宽和低延时。此外,人工智能应用的不同算子和算法也有不同的带宽和延时需求。不同的网络拓扑结构,具有不同的带宽和延时。如何支持不同的网络拓扑,尤其是动态拓扑改变,也是片间通信的另一挑战。
技术实现思路
根据本公开的示例实施例,提供了一种支持在多个芯片之间通信的方案。在本公开的第一方面中,提供了一种支持在多个芯片之间通信的方法。该方法可以包括确定由主机管理的多个芯片的身份信息,多个芯片通过各自的用于片间通信的片间通信接口相连接。该方法还可以包括使多个芯片中的一个或多个芯片获取与一个或多个芯片的片间通信接口连接的其他芯片的身份信息。该方法可以进一步包括经由一个或多个芯片的用于与主机通信的管理接口获取其他芯片的身份信息,以确定多个芯片之间的连接关系。在本公开的第二方面中,提供了一种支持在多个芯片之间通信的装置,包括:身份信息确定模块,被配置为确定由主机管理的多个芯片的身份信息,多个芯片通过各自的用于片间通信的片间通信接口相连接;芯片指令模块,被配置为使多个芯片中的一个或多个芯片获取与一个或多个芯片的片间通信接口连接的其他芯片的身份信息;以及连接关系确定模块,被配置为经由一个或多个芯片的用于与主机通信的管理接口获取其他芯片的身份信息,以确定多个芯片之间的连接关系。在本公开的第三方面中,提供了一种设备,包括一个或多个处理器;以及存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现根据本公开的第一方面的方法。在本公开的第四方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的第一方面的方法。应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。附图说明结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:图1A示出了根据本公开的多个实施例的示例芯片的接口配置的示意图;图1B示出了本公开的多个实施例能够在其中实现的示例芯片网络的示意图;图2示出了根据本公开的实施例的支持在多个芯片之间通信的过程的流程图;图3示出了根据本公开的实施例的用于获取连接的其他芯片的身份信息的过程的流程图;图4示出了根据本公开的实施例的支持在多个芯片之间通信的装置的示意框图;以及图5示出了能够实施本公开的多个实施例的计算设备的框图。具体实施方式下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。如上文提及的,亟需一种支持在多个芯片之间通信的方法,来快速高效且低成本地获取芯片网络的连接关系,从而支持对芯片网络的拓扑结构的动态改变,进而根据需求改变拓扑结构以便增加带宽并且降低延时。传统的芯片网络中的片间通信技术主要用于解决芯片网络的固定拓扑结构,因此芯片网络的拓扑结构不灵活,且时常面临带宽不足的问题。根据本公开的实施例,提出了一种支持在多个芯片之间通信的方案。在该方案中,可以由诸如中央处理器(CPU)的主机枚举其管理的诸如人工智能芯片的多个芯片,并对这些芯片进行编号。之后,由CPU命令各芯片分别执行连接感知操作。作为示例,芯片可以读取其各端口的状态信息,当状态信息为激活时,配置预定的地址范围,并对该地址范围内的特定地址发送测试数据,并等待返回的响应数据。在接收到该响应数据之后,从该响应数据中获取与该端口通信的其他芯片的编号。CPU汇总各芯片收集到的连接信息,从而可以任意芯片网络的物理连接信息。当获取了芯片网络的物理连接信息之后,就可以根据业务需求来动态地配置各芯片之间的逻辑连接关系,从而构建所需的拓扑结构。为了更为详尽地描述本公开的多个实施例中的芯片网络的拓扑结构及其构建过程,首先需要对芯片网络进行简要说明。图1A示出了根据本公开的多个实施例的示例芯片100的接口配置的示意图。如图1A所示,芯片100包括多个接口,例如,管理接口110以及片间通信接口C0、C1、C2和C3。管理接口110用于与管理芯片100的诸如CPU的主机进行通信,通常用于接收来自主机的配置信息以及发送芯片100的连接信息。作为示例,管理接口110可以是PCIe接口。此外,片间通信接口C0、C1、C2和C3均用于与主机管理下的其他芯片进行片间通信。作为示例,片间通信接口C0、C1、C2和C3可以是CCIX(缓存一致互联协议)接口。所谓芯片网络,是指多个芯片通过片间通信接口之间的直接物理连接构成的网络。图1B示出了本公开的多个实施例能够在其中实现的示例芯片网络100’的示意图。如图1B所示,每个方框均表示一个芯片。每个芯片均具有一个在芯片网络100’中唯一的芯片身份信息,例如,可以使用各芯片的参考标号101、102、103、104、105、106、107和108来表示各芯片的身份信息。应理解,有关身份信息的具体示例均是示意性的,并不用于限制的目的,并且各芯片的身份信息并不限于使用数字来表示。芯片网络100’中的任意一个芯片均可以与一个或多个其他芯片有直接物理连接。需要说明的是,芯片网络100’可以由集成在一块电路板上的多个芯片构成,也可以由多个由芯片控制的设备内的芯片通过数据传输线路连接构成。因此,集成在一块电路板上的两个芯片的引脚(诸如图1中的片间通信接口C0、C1、C2和C3)直接连接,或者,两个设备中的芯片的接口(诸如图1中的片间通信接口C0、C1、C2和C3)通过数据传输线路连接。也就是说,两个芯片之间的连接,可以理解成两个芯片之间通过对应的接口相互连接。例如,芯片101向芯片102传输信息,具体是,芯片101通过其自身的与芯片102连本文档来自技高网
...

【技术保护点】
1.一种支持在多个芯片之间通信的方法,包括:/n确定由主机管理的所述多个芯片的身份信息,所述多个芯片通过各自的用于片间通信的片间通信接口相连接;/n使所述多个芯片中的一个或多个芯片获取与所述一个或多个芯片的片间通信接口连接的其他芯片的身份信息;以及/n经由所述一个或多个芯片的用于与所述主机通信的管理接口获取所述其他芯片的身份信息,以确定所述多个芯片之间的连接关系。/n

【技术特征摘要】
1.一种支持在多个芯片之间通信的方法,包括:
确定由主机管理的所述多个芯片的身份信息,所述多个芯片通过各自的用于片间通信的片间通信接口相连接;
使所述多个芯片中的一个或多个芯片获取与所述一个或多个芯片的片间通信接口连接的其他芯片的身份信息;以及
经由所述一个或多个芯片的用于与所述主机通信的管理接口获取所述其他芯片的身份信息,以确定所述多个芯片之间的连接关系。


2.根据权利要求1所述的方法,其中使所述多个芯片中的所述一个或多个芯片获取所述其他芯片的身份信息包括:
获取所述一个或多个芯片的片间通信接口的状态信息;
响应于所述状态信息为激活,由所述一个或多个芯片的片间通信接口向所述多个芯片中的与所述片间通信接口连接的其他芯片发送测试数据;以及
接收所述测试数据的响应数据,所述响应数据包括所述其他芯片的身份信息。


3.根据权利要求2所述的方法,其中向所述其他芯片发送所述测试数据包括:
为所述一个或多个芯片的片间通信接口配置预定地址范围;以及
向所述其他芯片的位于所述预定地址范围内的地址发送所述测试数据。


4.根据权利要求1所述的方法,还包括:
将经确定的所述多个芯片之间的连接关系存储至连接矩阵,所述连接矩阵还包括以下至少一项:
所述多个芯片的各自的片间通信接口的状态信息;以及
带宽信息。


5.根据权利要求1所述的方法,还包括:
由所述一个或多个芯片的片间通信接口检测连接故障;
响应于检测到的所述连接故障是可修复的,对所述连接故障进行修复;以及
上报所述修复的结果。


6.根据权利要求1所述的方法,还包括:
由所述一个或多个芯片的片间通信接口检测连接故障;
响应于检测到的所述连接故障是不可修复的,将经由所述一个或多个芯片的片间通信接口传输的业务切换至附加片间通信接口;以及
上报所述连接故障。


7.根据权利要求1所述的方法,还包括:
根据经确定的所述多个芯片的数量枚举所述多个芯片的连接关系;以及
根据所枚举的连接关系中的用户指定的连接关系配置所述多个芯片。


8.根据权利要求1所述的方法,其中所述主机是中央处理器CPU,并且所述多个芯片是系统级芯片SoC。


9.一种支持在多个芯片之间通信的装置,包括:
身份信息确定模块,被配置为确定由主机管理的所述多个芯片的身份信息,所述多个芯片通过各自的用于片间通信的片间通信接口相连接;
芯片指令模块,被配置为使所述多个芯片中的一个或多个芯片获取与所述一个或多个芯片的片间通信接口连接的其他芯片的身份信息;以及
连接关系确定模块,被配置为经由所述一个或多个芯片的用于与所述主...

【专利技术属性】
技术研发人员:冷祥纶朱贺飞陈庆澍赵志彪龚小章
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1