首页> 中国专利> 核地址更新方法、映射方法、数据传输方法及装置、芯片

核地址更新方法、映射方法、数据传输方法及装置、芯片

摘要

本公开提供了一种核地址更新方法,所述方法包括:根据预设尺寸将至少部分核的原地址更新为更新地址;其中,核的更新地址的排列方式与核的原地址的排列方式相同,所述预设尺寸为核的更新地址构成的阵列的尺寸,至少部分核无更新地址。节省了多核芯片的维护成本。本公开还提供了一种映射方法、数据传输方法及核地址更新装置、映射装置、芯片、计算机可读介质。

著录项

  • 公开/公告号CN113010353A

    专利类型发明专利

  • 公开/公告日2021-06-22

    原文格式PDF

  • 申请/专利权人 北京灵汐科技有限公司;

    申请/专利号CN202110302080.6

  • 发明设计人 何伟;沈杨书;

    申请日2021-03-22

  • 分类号G06F11/20(20060101);G06F15/78(20060101);

  • 代理机构11112 北京天昊联合知识产权代理有限公司;

  • 代理人彭瑞欣;刘悦晗

  • 地址 100080 北京市海淀区北四环西路67号8层801

  • 入库时间 2023-06-19 11:32:36

说明书

技术领域

本公开涉及人工智能芯片技术领域,特别涉及一种核地址更新方法、映射方法、数据传输方法及核地址更新装置、映射装置、芯片、计算机可读介质。

背景技术

芯片(如人工智能芯片)可以由一枚或多枚处理器组成,一枚处理器中通常集成多个完整的计算引擎(核),一个处理器内或多枚处理器间的核可以协同工作。

当芯片中出现故障核时,故障核虽然不能执行算法,但是路由损坏的概率较低。因此,这些故障核虽然不能进行算法的映射,但仍具有路由的功能。目前,当出现上述故障时,由于故障核不能执行算法,可能需要对整张芯片重新进行映射以使算法被映射到能够执行算法的核上,或者直接使用正常芯片替换掉整张芯片,将整张芯片作废,成本较高。

发明内容

本公开提供一种核地址更新方法、映射方法、数据传输方法及核地址更新装置、映射装置、芯片、计算机可读介质。

第一方面,本公开提供了一种核地址更新方法,该核地址更新方法包括:

根据预设尺寸将至少部分核的原地址更新为更新地址;其中,核的更新地址的排列方式与核的原地址的排列方式相同,所述预设尺寸为核的更新地址构成的阵列的尺寸,至少部分核无更新地址。

在一些实施例中,所述根据预设尺寸将至少部分核的原地址更新为更新地址,包括:

根据所述预设尺寸确定预设拓扑方向和其删除量;

在沿预设拓扑方向排列的每排核中,确定删除量个核为删除核;

将非删除核的原地址更新为更新地址,所述删除核无更新地址。

在一些实施例中,所述在沿预设拓扑方向排列的每排核中,确定删除量个核为删除核,包括:

沿预设拓扑方向排列的任意一排核中没有故障核时,确定该排核中位于预定位置的删除量个核为删除核。

在一些实施例中,所述该排核中位于预定位置的删除量个核为该排核中沿预设拓扑方向的最后的删除量个核。

在一些实施例中,所述在沿预设拓扑方向排列的每排核中,确定删除量个核为删除核,包括:

沿预设拓扑方向排列的任意一排核中有故障核时,确定该排核中删除量个核为删除核,且该排中所有故障核均被确定为删除核。

在一些实施例中,当该排核中的故障核的数量比删除量小n时,所述确定该排核中删除量个核为删除核,包括:

确定该排核中所有故障核为删除核,并确定该排核中沿预设拓扑方向的最后的n个非故障核为删除核。

在一些实施例中,所述根据所述预设尺寸确定预设拓扑方向和其删除量,包括:

确定各拓扑方向的最大故障核数;所述最大故障核数为沿相应拓扑方向排列的所有排核中具有的故障核的数量中的最大值;

根据所述预设尺寸,确定当以不同的拓扑方向为预设拓扑方向时,各拓扑方向的允许删除量;

根据所述最大故障核数和允许删除量,确定部分拓扑方向为预设拓扑方向,并确定相应拓扑方向的允许删除量为预设拓扑方向的删除量;任意预设拓扑方向的最大故障核数不超过其删除量。

在一些实施例中,所述预设的排列方式为二维矩阵,从所述二维矩阵的行拓扑方向和列拓扑方向中确定一个拓扑方向为预设拓扑方向。

第二方面,本公开提供了一种映射方法,用于根据前述核地址更新方法更新了核地址的芯片,该映射方法包括:

根据所述芯片中核的更新地址的排列情况,将多个任务映射到具有更新地址的核。

在一些实施例中,在所述根据所述芯片中核的更新地址的排列情况,将多个任务映射到具有更新地址的核之前,所述方法还包括:

根据预设尺寸,对待处理问题进行编译,得到所述多个任务。

第三方面,本公开提供了数据传输方法,用于根据前述核地址更新方法更新了核地址的芯片,该数据传输方法包括:

获取数据,所述数据包括目的核更新地址;

至少根据目的核更新地址,将所述数据传输至目的核。

在一些实施例中,所述至少根据目的核更新地址,将所述数据传输至目的核,包括:

根据至少部分核的原地址与更新地址之间的对应关系、至少部分核的原地址以及所述目的核更新地址,将所述数据传输至目的核。

在一些实施例中,所述至少根据目的核更新地址,将所述数据传输至目的核,包括:

确定所述目的核更新地址对应的目的核原地址;

根据各核原地址,将所述数据传输至目的核。

第四方面,本公开提供了一种核地址更新装置,用于对芯片的核地址进行更新,所述芯片包括多个核,所述多个核的原地址按照预设的排列方式排列,核地址更新装置包括:

更新模块,用于根据预设尺寸将至少部分核的原地址更新为更新地址;其中,核的更新地址的排列方式与核的原地址的排列方式相同,所述预设尺寸为核的更新地址构成的阵列的尺寸,至少部分核无更新地址。

第五方面,本公开提供了一种映射装置,用于根据前述核地址更新方法更新了核地址的芯片,包括:

映射模块,用于根据所述芯片中核的更新地址的排列情况,将多个任务映射到具有更新地址的核。

第六方面,本公开提供了一种芯片,包括多个核,所述芯片用于实现以下至少一项方法:

如前述的核地址更新方法;

如前述的映射方法;

如前述的数据传输方法。

第七方面,本公开提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理核执行时实现以下至少一项方法:

如前述的核地址更新方法;

如前述的映射方法;

如前述的数据传输方法。

本公开所提供的核地址更新方法、映射方法、数据传输方法及核地址更新装置、映射装置、芯片、计算机可读介质,在芯片出厂之前,根据预设尺寸将至少部分核的原地址更新为更新地址,使得核的更新地址构成的阵列的尺寸与预设尺寸一致,即更新地址的排列布局与核的编译排列布局相匹配,确保核的更新地址构成的阵列中每一个更新地址对应的核均可以执行算法,而数据仍然可以根据核的原地址排列情况进行传输。在没有故障核的情况下,根据预设尺寸将至少部分核的原地址更新为更新地址,则至少部分无更新地址的核可以预留做backup(备份),相当于可以提供一定的容许故障量,避免在出现故障核时需要重新编译;在出现故障核的情况下,根据预设尺寸将至少部分非故障核的原地址更新为更新地址,无需对整张芯片进行重新编译,也无需直接替换整张芯片,即可确保芯片仍然能够正常工作,节省了在多核芯片中出现故障核时所需的维护成本。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:

图1为本公开实施例提供的一种核地址更新方法的流程图;

图2为本公开实施例提供的另一种核地址更新方法的流程图;

图3为本公开实施例提供的又一种核地址更新方法的流程图;

图4为本公开实施例提供的另一种核地址更新方法的流程图;

图5为本公开实施例提供的又一种核地址更新方法的流程图;

图6为本公开实施例提供的一种映射方法的流程图;

图7为本公开实施例提供的又一种映射方法的流程图;

图8为本公开实施例提供的一种数据传输方法的流程图;

图9为本公开实施例提供的另一种数据传输方法的流程图;

图10为本公开实施例提供的又一种数据传输方法的流程图;

图11为本公开实施例提供的一种核的原地址的排列示意图;

图12为本公开实施例提供的另一种核的原地址的排列示意图;

图13为本公开实施例提供的一种核的更新地址的排列示意图;

图14为本公开实施例提供的又一种核的原地址的排列示意图;

图15为本公开实施例提供的另一种核的原地址的排列示意图;

图16为本公开实施例提供的又一种核的原地址的排列示意图;

图17为本公开实施例提供的一种地址更新装置的组成框图;

图18为本公开实施例提供的一种映射装置的组成框图。

具体实施方式

为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。

如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。

本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。

除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。

图1为本公开实施例提供的一种核地址更新方法的流程图。

参照图1,本公开实施例提供一种核地址更新方法,该核地址更新方法用于对芯片的核地址进行更新。

其中,芯片包括多个核,多个核的原地址按照预设的排列方式排列。

芯片中的每个核均具有地址(或称ID(Identity document,身份标识)),地址可以抽象为坐标,原地址即未经更新的原始地址。芯片中多个核的原地址按照预设的排列方式排列,例如,原地址可以按照矩阵形式排列,则每个原地址均作为矩阵中的一个元素,但矩阵的具体内容可以不同,例如矩阵的尺寸(矩阵的行数和列数,即行方向和列方向这两个方向上的原地址个数)可以不同。原地址在沿矩阵的行方向上相邻或在沿矩阵的列方向上相邻的两个核之间可以传输数据。

需要说明的是,原地址也可以按照三维体等其他排列方式排列,则每个原地址均为三维体中的一个坐标,但三维体的尺寸(三维体的长、宽、高,即X轴、Y轴、Z轴这三个方向上的原地址个数)可以不同。

参照图11,以芯片上共有16个核为例,以每一个圆表示一个核,16个核的原地址按照矩阵形式排列,该16个核的原地址分别为:(1,1)、(2,1)、(3,1)……(4,4)。原地址为(1,1)的核与原地址为(2,1)的核之间可以传输数据,原地址为(1,1)的核与原地址为(1,2)的核之间也可以传输数据。

本公开实施例的核地址更新方法具体包括:

S101、根据预设尺寸将至少部分核的原地址更新为更新地址;其中,核的更新地址的排列方式与核的原地址的排列方式相同,预设尺寸为核的更新地址构成的阵列的尺寸,至少部分核无更新地址。

核的原地址与核的更新地址均按照预设的排列方式排列,由原地址构成的阵列以及由更新地址构成的阵列均具有一定的尺寸,可以按照预设尺寸来将至少部分核的原地址更新为更新地址,使得由更新地址构成的阵列的尺寸与该预设尺寸一致。

其中,“均按照预设的排列方式排列”是指,核的原地址与核的更新地址以相同的“方式”构成阵列,如均构成由行、列组成的阵列;但是,核的原地址构成的阵列的尺寸与核的更新地址构成的阵列的尺寸不相同。

其中,“尺寸”是指阵列在各个拓扑方向上包括的核地址的个数。该预设尺寸需要与预设的核的编译排列布局相匹配。在芯片出厂之前,已针对各种类型的待处理问题进行编译并且得到既定的核编译排列布局,使得编译待处理问题所得到的的任务能够根据核编译排列布局被映射到各核,因此芯片具有预设的核编译排列布局,编译某一类型待处理问题所得到的核编译排列布局可以有多个,编译多个类型待处理问题所得到的核编译排列布局也可以有多个,但核编译排列布局往往小于实际的核原地址排列布局,目的是尽可能地避免后续出现故障核时需要对待处理问题进行重新编译。

此外,预设尺寸又与芯片中核的容许故障率有一定关系。根据预设尺寸将至少部分核的原地址更新为更新地址之后,实际执行算法的核均为更新地址阵列中的核,而若能够执行算法的核的数量过少,将影响到芯片的整体算力。例如,总核数为100,容许故障率为20%,则将地址按照矩阵形式排列时,预设尺寸可以为8X10(表示8行10列,或者表示10行8列),核的编译排列布局也是如此。

由核的地址构成的阵列,只在阵列内部具有各拓扑方向的相对尺寸,而无绝对尺寸,如地址按矩阵形式排列时,行方向的尺寸与列方向的尺寸只是相对而言,3行4列的尺寸与4行3列的尺寸实质上是等价的。因此,预设尺寸也非绝对尺寸,对核的原地址进行更新时,只需使得由更新地址构成的阵列的尺寸能够以某种方向与该预设尺寸吻合即可。

通常情况下,预设尺寸被设置为小于由核的原地址构成的阵列的尺寸,因此,为使得由更新地址构成的阵列的尺寸与预设尺寸一致,可以不对部分核的原地址进行更新,这部分核也就不具有更新地址。

参照图12和图13,以预设尺寸为3X4为例,若核的原地址构成的阵列为如图12所示的4行4列,则根据预设尺寸可以将部分核的原地址更新为更新地址使得更新地址构成的阵列为如图13所示的3行4列。

图12和图13中,以实心的圆表示非故障核,空心的圆表示故障核。图13中,当非故障核上方有两个用于表示地址的括号时,两个地址中在上方的地址为原地址,在下方的地址为更新地址,(若原地址与更新地址相同,则只用一个括号表示)。可见,图12所示的原地址阵列中有故障核,图13所示的更新地址阵列中没有故障核,表示故障核没有更新地址,且部分非故障核的原地址与更新地址不一样。

应当理解,图13仅表示对至少部分核的原地址进行更新后,所有具有更新地址的核的更新地址所构成的阵列,而不代表对至少部分核的原地址进行更新后核的实际数量有所减少,即对至少部分核的原地址进行更新后所有核的实体结构仍然不变。

需要说明的是,更新地址在如图13所示的矩阵的行方向上(或列方向上)相邻的两个核之间并不一定可以传输数据,因为数据仍然需要在原地址在如图12所示的矩阵的行方向上(或列方向上)相邻的两个核之间传输,而更新地址在如图13所示的矩阵的行方向上(或列方向上)相邻的两个核,其原地址并不一定在如图12所示的矩阵的行方向上(或列方向上)相邻,该两个核的原地址之间可能存在着未被更新为更新地址的原地址。

使用本公开实施例的核地址更新方法,在芯片出厂之前,根据预设尺寸将至少部分核的原地址更新为更新地址,使得核的更新地址构成的阵列的尺寸与预设尺寸一致,即更新地址的排列布局与核的编译排列布局相匹配,确保核的更新地址构成的阵列中每一个更新地址对应的核均可以执行算法,而数据仍然可以根据核的原地址排列情况进行传输。

在没有故障核的情况下,根据预设尺寸将至少部分核的原地址更新为更新地址,则至少部分无更新地址的核可以预留做backup(备份),相当于可以提供一定的容许故障量,避免在出现故障核时需要重新编译;在出现故障核的情况下,根据预设尺寸将至少部分非故障核的原地址更新为更新地址,无需对整张芯片进行重新编译,也无需直接替换整张芯片,即可确保芯片仍然能够正常工作,节省了在多核芯片中出现故障核时所需的维护成本。

图2为本公开实施例提供的另一种核地址更新方法的流程图。

参照图2,本公开实施例提供一种核地址更新方法,该核地址更新方法包括:

S201、根据预设尺寸确定预设拓扑方向和其删除量。

其中,预设尺寸为核的更新地址构成的阵列的尺寸。

由于预设尺寸小于核的原地址构成的阵列的尺寸,需要删除部分核(的原地址),才能够使得剩下的核的原地址被更新为更新地址后可以构成符合预设尺寸的阵列。可以根据预设尺寸从各拓扑方向中选择一个合适的拓扑方向并确定其删除量。

预设拓扑方向与排列方式有关,例如,当核的地址按照矩阵形式排列时,预设拓扑方向可以为行方向或列方向(相当于X轴方向或Y轴方向,但行方向为X轴方向还是为Y轴方向并不做具体限定),当核的地址按照三维体的排列方式排列时,预设拓扑方向可以为X轴方向或Y轴方向或Z轴方向。

S202、在沿预设拓扑方向排列的每排核中,确定删除量个核为删除核。

确定出预设拓扑方向和其删除量后,可以根据该预设拓扑方向和其删除量删除部分核(的原地址),首先可以将沿预设拓扑方向排列的每排核中的删除量个核确定为要删除的核。

需要说明的是,当核的地址按照三维体的排列方式排列时,沿预设拓扑方向排列的应为垂直于该预设拓扑方向的多个平面的核,即多层核,以上的每排核也可包括一层核,此时应当在沿预设拓扑方向排列的每层核中,确定删除量个核为删除核。

S203、将非删除核的原地址更新为更新地址,删除核无更新地址。

其中,核的更新地址的排列方式与核的原地址的排列方式相同,删除核均无更新地址。

确定出删除核之后,沿预设拓扑方向排列的每排(层)核中的其他核均为非删除核,仅对非删除核的原地址进行更新,将核的更新地址按照与原地址相同的排列方式进行排列。

需要说明的是,对非删除核的原地址进行更新后,核的更新地址可以与核的原地址相同,也可以与原地址不同。

图3为本公开实施例提供的又一种核地址更新方法的流程图。

参照图3,本公开实施例提供一种核地址更新方法,该核地址更新方法包括:

S301、根据预设尺寸确定预设拓扑方向和其删除量。

其中,预设尺寸为核的更新地址构成的阵列的尺寸。

S302、沿预设拓扑方向排列的任意一排核中没有故障核时,确定该排核中位于预定位置的删除量个核为删除核。

在沿预设拓扑方向排列的任意一排核中均没有故障核的情况下,可以将每排核中位于预定位置的核指定为删除核,且被指定为删除核的核的数量与删除量相等。

S303、将非删除核的原地址更新为更新地址,删除核无更新地址。

其中,核的更新地址的排列方式与核的原地址的排列方式相同,删除核均无更新地址。

在一些实施例中,沿预设拓扑方向排列的任意一排核中没有故障核时,确定该排核中沿预设拓扑方向的最后的删除量个核为删除核。

在沿预设拓扑方向排列的任意一排核中没有故障核时,将该排核中沿预设拓扑方向的最后的删除量个核确定为删除核,则对该排核中的非删除核的原地址进行更新时,该排核中的所有非删除核的更新地址均可以与原地址相同,即更新后地址不变。

参照图14,如图14所示为核的原地址构成的阵列,以实心的圆表示非故障核,空心的圆表示故障核。以预设拓扑方向为行方向且行方向的删除量为1为例,此时在沿行方向排列的各排核中沿列方向的第一、三排核中均没有故障核,则可以将该两排核中沿行方向的最后一个核(即原地址为(4,1)的核以及原地址为(4,3)的核)确定为删除核,而该两排核中,原地址分别为(1,1)、(2,1)、(3,1)、(1,3)、(2,3)、(3,3)的六个核均为非删除核,该六个非删除核的更新地址可以与原地址相同,分别为(1,1)、(2,1)、(3,1)、(1,3)、(2,3)、(3,3)。

图4为本公开实施例提供的另一种核地址更新方法的流程图。

参照图4,本公开实施例提供一种核地址更新方法,该核地址更新方法包括:

S401、根据预设尺寸确定预设拓扑方向和其删除量。

其中,预设尺寸为核的更新地址构成的阵列的尺寸。

S402、沿预设拓扑方向排列的任意一排核中有故障核时,确定该排核中删除量个核为删除核,且该排中所有故障核均被确定为删除核。

故障核不能执行算法,若要使更新地址的排列布局与核的编译排列布局相匹配从而确保更新地址阵列中每个核均可以执行算法,则不能对故障核的原地址进行更新,因此,沿预设拓扑方向排列的任意一排核中有故障核时,可以将每排核中的所有故障核均确定为删除核。

需要说明的是,预设拓扑方向的删除量可以为根据预设尺寸确定出的允许在沿预设拓扑方向排列的任意一排核中删除的核的数量,若沿预设拓扑方向排列的任意一排核中的故障核的数量超过该预设拓扑方向的删除量,则无法对核地址进行更新,芯片可能需要作废。

S403、将非删除核的原地址更新为更新地址,删除核无更新地址。

其中,核的更新地址的排列方式与核的原地址的排列方式相同,删除核均无更新地址。

在一些实施例中,若沿预设拓扑方向排列的任意一排核中有故障核,当该排核中的故障核的数量比删除量小n时,确定该排核中所有故障核为删除核,并确定该排核中沿预设拓扑方向的最后的n个非故障核为删除核。

在沿预设拓扑方向排列的任意一排核中有故障核并且该排核中的故障核的数量比删除量小n时,将该排核中的所有故障核确定为删除核,并且将该排核中沿预设拓扑方向的最后的n个非故障核确定为删除核,该排核中除删除核之外的核均为非删除核。对该排核中的非删除核的原地址进行更新时,非删除核的更新地址可以与原地址相同,也可以与原地址不同。

参照图15,如图15所示为核的原地址构成的阵列,以实心的圆表示非故障核,空心的圆表示故障核。以预设拓扑方向为行方向且行方向的删除量为2为例,仅针对在沿行方向排列的各排核中的沿列方向的第二排核而言,此时该排核中有故障核,故障核为该排核中沿行方向的第二个核(即原地址为(2,2)的核),则该排核中的故障核的数量比删除量少1,可以将原地址为(2,2)的核确定为删除核,并且将该排核中沿行方向的最后一个核(即原地址为(4,2)的核)也确定为删除核。在对该排核中的非删除核的原地址进行更新时,原地址(1,2)可以被更新为更新地址(1,2),原地址(3,2)可以被更新为更新地址(2,2)。

图5为本公开实施例提供的另一种核地址更新方法的流程图。

参照图5,本公开实施例提供一种核地址更新方法,该核地址更新方法包括:

S501、确定各拓扑方向的最大故障核数;最大故障核数为沿相应拓扑方向排列的所有排核中具有的故障核的数量中的最大值。

将芯片初始化之后,可以获取芯片中的故障核的原地址,根据故障核的原地址可以确定各拓扑方向的最大故障核数。沿某拓扑方向排列的所有排核中,每排核中所包括的故障核的数量可能相同也可能不同,以其中的最大值为该拓扑方向的最大故障核数。

参照图16,如图16所示为核的原地址构成的阵列,以实心的圆表示非故障核,空心的圆表示故障核。可见,原地址为(3,1)、(2,2)、(4,3)和(3,4)的四个核均为故障核,则沿行方向排列的四排核中,每排核中均有一个故障核,则行方向的最大故障核数为1;而沿列方向排列的四排核中,沿行方向的第一排的核中无故障核,沿行方向的第二排的核中和第四排的核中均有一个故障核,沿行方向的第三排的核中有二个故障核,则列方向的最大故障核数为2。

S502、根据预设尺寸,确定当以不同的拓扑方向为预设拓扑方向时,各拓扑方向的允许删除量。

其中,预设尺寸为核的更新地址构成的阵列的尺寸。若要使得核的更新地址能够构成符合预设尺寸的阵列,则需确定沿不同的拓扑方向对原地址阵列中的核进行删除时,在沿相应拓扑方向排列的每排核中所需要删除的核(的原地址)的数量,即允许删除量。

假设核的原地址构成4行4列的矩阵阵列且预设尺寸为3X4,如前文所述,于地址阵列而言,3行4列的尺寸与4行3列的尺寸实质上是等价的,则以行方向为预设拓扑方向或以列方向为预设拓扑方向均是可行的。以行方向为预设拓扑方向时,行方向的允许删除量为1,列方向的允许删除量为0。以列方向为预设拓扑方向时,行方向的允许删除量为0,列方向的允许删除量为1。无论在沿行方向排列的每排核中删除一个核(原地址)得到一个4行3列的更新地址阵列,还是在列行方向排列的每排核中删除一个核(原地址)得到一个3行4列的更新地址阵列,更新地址阵列的尺寸实际上均为3X4。

S503、根据最大故障核数和允许删除量,确定部分拓扑方向为预设拓扑方向,并确定相应拓扑方向的允许删除量为预设拓扑方向的删除量;任意预设拓扑方向的最大故障核数不超过其删除量。

若某拓扑方向的最大故障核数超过其允许删除量,则删除所有故障核(的原地址)后,非删除核的更新地址不足以构成符合预设尺寸的阵列。因此为了使得核的更新地址能够构成符合预设尺寸的阵列,还需要满足条件:预设拓扑方向的最大故障核数不超过其允许删除量。

最大故障核数不超过其允许删除量的拓扑方向可能为多个,选择任意最大故障核数不超过其允许删除量的拓扑方向作为预设拓扑方向均可。确定出预设拓扑方向后,可以将预设拓扑方向的允许删除量确定为其删除量,预设拓扑方向的删除量即沿该预设拓扑方向排列的每排核中所需要删除的核的数量。

当然,在最大故障核数不超过其允许删除量的拓扑方向为多个时,还可以从该多个拓扑方向中选择一个允许删除量最小的拓扑方向为预设拓扑方向。

S504、在沿预设拓扑方向排列的每排核中,确定删除量个核为删除核。

S505、将非删除核的原地址更新为更新地址,删除核无更新地址。

在一些实施例中,预设的排列方式可以为二维矩阵,则从二维矩阵的行拓扑方向和列拓扑方向中确定一个拓扑方向为预设拓扑方向。

若核的原地址与更新地址均按照二维矩阵的形式排列,二维矩阵的拓扑方向包括行拓扑方向和列拓扑方向,需要从行拓扑方向和列拓扑方向中选择一个拓扑方向作为预设拓扑方向。

图6为本公开实施例提供的一种映射方法的流程图。

参照图6,本公开实施例提供一种映射方法,用于根据前述核地址更新方法更新了核地址的芯片。

本公开实施例的映射方法具体包括:

S601、根据芯片中核的更新地址的排列情况,将多个任务映射到具有更新地址的核。

在芯片根据前述核地址更新方法更新了地址之后,可以根据芯片中核的更新地址构成的阵列,将多个任务分别映射到各具有更新地址的核。具有更新地址的核均可以执行算法,将多个任务映射到具有更新地址的核后,各核可以分别对任务进行处理,并正常协同工作。

图7为本公开实施例提供的另一种映射方法的流程图。

参照图7,本公开实施例提供一种映射方法,用于根据前述核地址更新方法更新了核地址的芯片。

本公开实施例的映射方法具体包括:

S701、根据预设尺寸,对待处理问题进行编译,得到多个任务。

其中,预设尺寸为核的更新地址构成的阵列的尺寸,与预设的核的编译排列布局相匹配。则在对待处理问题(或者说是能解决待处理问题的算法)进行编译时,可以根据预设尺寸将待处理问题编译为多个任务,使得任务均能够被更新地址阵列中的核所执行。

S702、根据芯片中核的更新地址的排列情况,将多个任务映射到具有更新地址的核。

具有更新地址的核均可以执行算法,将多个任务映射到具有更新地址的核后,各核可以分别对任务进行处理,并正常协同工作。

图8为本公开实施例提供的一种数据传输方法的流程图。

参照图8,本公开实施例提供一种数据传输方法,用于根据前述核地址更新方法更新了核地址的芯片。

本公开实施例的数据传输方法具体包括:

S801、获取数据,数据包括目的核更新地址。

芯片中的至少部分核的原地址被更新后,核的更新地址的排列布局与预设的核的编译布局相匹配,具有更新地址的核必定能够执行算法,任务将被映射到具有更新地址的核,因此在传输数据时,目的核也为具有更新地址的核,数据携带的目的核地址可以为目的核更新地址。

S802、至少根据目的核更新地址,将数据传输至目的核。

至少部分核同时具有更新地址和原地址,至少部分核仅具有原地址而不具有更新地址,所有核均具备正常路由功能,至少根据目的核更新地址,即可将数据传输至目的核。

图9为本公开实施例提供的另一种数据传输方法的流程图。

参照图9,本公开实施例提供一种数据传输方法,用于根据前述核地址更新方法更新了核地址的芯片。

本公开实施例的数据传输方法具体包括:

S901、获取数据,数据包括目的核更新地址。

S902、根据至少部分核的原地址与更新地址之间的对应关系、至少部分核的原地址以及目的核更新地址,将数据传输至目的核。

芯片中的至少部分核的原地址被更新后,每个核中均可以存储在各方向上与本核相邻且具有更新地址的核的更新地址,每个核均具有原地址,原地址被更新的核还具有更新地址,这样一来,在传输数据时,可以根据更新地址判断数据是否已经到达目的核,根据原地址进行实际路由。

具体的,当前核可以根据本核的更新地址情况确定本核是否为目的核,若不是,当前核可以根据本核存储的在各拓扑方向上与本核相邻且具有更新地址的核的更新地址,从中选择一个在某拓扑方向上距离目的核更新地址最近的更新地址,按照各核原地址先将数据传输至该更新地址对应的核,由该更新地址对应的核继续传输数据。

参照图12和图13,如图12所示为核的原地址构成的阵列,图13为核的更新地址构成的阵列。在根据预设尺寸将至少部分核的原地址更新为更新地址之后,图12所示原地址为(4,1)、(2,2)、(4,3)和(3,4)的四个核不具有更新地址,此时,原地址为(2,2)的核存储的行方向上右侧核的更新地址为(2,2),而原地址为(1,2)的核存储的行方向上右侧核的更新地址也为(2,2),因为原地址为(2,2)的核不具有更新地址,行方向上在原地址为(1,2)的核的右侧,具有更新地址的核应为原地址为(3,2)的核,而原地址为(3,2)的核其更新地址为(2,2)。

假设原地址为(2,3)的核获取到数据且数据携带的目的核更新地址为(3,4),此时该原地址为(2,3)的核,存储的行方向上左侧核的更新地址为(1,3),存储的行方向上右侧核的更新地址为(3,3),存储的列方向上上侧核的更新地址为(2,2),存储的列方向上下侧核的更新地址为(2,4),若优先根据行方向选择,则(1,3)、(3,3)、(2,2)、(2,4)这四个更新地址中,行方向上距离目的核更新地址最近的更新地址为(3,3),则原地址为(2,3)的核可以选择更新地址为(3,3)的核,先将数据传输至更新地址为(3,3)的核,再由更新地址为(3,3)的核继续传输数据。

图10为本公开实施例提供的另一种数据传输方法的流程图。

参照图10,本公开实施例提供一种数据传输方法,用于根据前述核地址更新方法更新了核地址的芯片。

本公开实施例的数据传输方法具体包括:

S1001、获取数据,数据包括目的核更新地址。

S1002、确定目的核更新地址对应的目的核原地址。

芯片中的至少部分核的原地址被更新后,可以在各核内部维护路由地址转化表,也可以在中心控制核内部维护路由地址转化表。核的原地址与更新地址之间的对应关系,可以存储在路由地址转化表中,因此核可以直接查询本地路由地址转化表确定出某更新地址对应的原地址,也可以向中心控制核请求确定某更新地址对应的原地址,本公开实施例并不对此做具体限定。

在路由地址转化表中,可以有部分核的更新地址与其原地址相同,也可以有部分核的更新地址与其原地址不同,不具有更新地址的部分核,其更新地址可以显示为空。

S1003、根据各核原地址,将数据传输至目的核。

无论核是否具有更新地址,核均具备路由功能,因此确定出目的核更新地址对应的目的核原地址之后,可以根据各核的原地址将数据传输至目的核原地址。

图17为本公开实施例提供的一种核地址更新装置的组成框图。

参照图17,本公开实施例提供了一种核地址更新装置170,用于对芯片的核地址进行更新,芯片包括多个核,多个核的原地址按照预设的排列方式排列,该核地址更新装置170包括:

更新模块1701,用于根据预设尺寸将至少部分核的原地址更新为更新地址;其中,核的更新地址的排列方式与核的原地址的排列方式相同,预设尺寸为核的更新地址构成的阵列的尺寸,至少部分核无更新地址。

图18为本公开实施例提供的一种映射装置的组成框图。

参照图18本公开实施例提供了一种映射装置180,用于根据前述核地址更新方法更新了核地址的芯片,该映射装置180包括:

映射模块1801,用于根据芯片中核的更新地址的排列情况,将多个任务映射到具有更新地址的核。

此外,本公开实施例还提供了一种芯片,用于实现以下至少一项方法:

如前述的核地址更新方法;

如前述的映射方法;

如前述的数据传输方法。

此外,本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理核执行时实现以下至少一项方法:

如前述的核地址更新方法;

如前述的映射方法;

如前述的数据传输方法。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于R11M、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号