有效
任务调度、预处理、处理方法及设备、处理单元、介质
邓磊、李涵、何伟
北京灵汐科技有限公司
摘要
本公开提供了一种计算任务的调度方法,包括:划分至少一个处理单元分组,每个所述处理单元分组包括多个处理单元;将第一张量的至少一个分块映射到至少一个所述处理单元分组,以使所述处理单元分组中的多个处理单元处理所述分块对应的计算任务;不同的所述处理单元分组对应不同的所述分块;其中,所述处理单元具有缓存,同一个所述处理单元分组中的多个处理单元能够相互传输数据。本公开还提供一种计算任务的预处理方法、一种计算任务的处理方法、一种控制器、一种处理单元、一种电子设备、一种预处理装置、一种计算机可读介质。
1.一种计算任务的调度方法,包括:根据第一张量的稀疏度,划分至少一个处理单元分组,每个所述处理单元分组包括多个处理单元,处理单元分组中的处理单元的数量与所述稀疏度相适应,处理单元分组中多个处理单元的缓存总量与所述稀疏度相适应;将第一张量的至少一个分块映射到至少一个所述处理单元分组,以使所述第一张量的分块对应的第二张量的数据分布在处理单元分组中各个处理单元的缓存中,并所述处理单元分组中的多个处理单元处理所述分块对应的计算任务;不同的所述处理单元分组对应不同的所述分块;其中,所述处理单元具有缓存,同一个所述处理单元分组中的多个处理单元能够相互传输数据。
2.根据权利要求1所述的调度方法,其中,将第一张量的至少一个分块映射到至少一个所述处理单元分组的步骤包括:确定目标处理单元分组,所述目标处理单元分组为所述分块对应的处理单元分组;将所述分块对应的第二张量的数据加载到所述目标处理单元分组中的多个处理单元的缓存中;将所述分块的非零元素注入所述目标处理单元分组中的处理单元。
3.根据权利要求2所述的调度方法,其中,所述第二张量由多个因子张量缩并得到,所述分块对应的第二张量的数据为缩并得到所述第二张量的各个所述因子张量中所述分块对应的数据片段,每个所述数据片段包括多个子片段,每一个所述非零元素对应各个所述数据片段的一个所述子片段;将所述分块对应的第二张量的数据加载到所述目标处理单元分组中的处理单元的缓存中的步骤包括:将所述分块对应的多个所述数据片段加载到所述目标处理单元分组中的多个处理单元的缓存中。
4.根据权利要求3所述的调度方法,其中,将所述分块对应的多个所述数据片段加载到所述目标处理单元分组中的多个处理单元的缓存中的步骤包括:根据预定规则确定各个所述子片段对应的处理单元;将所述子片段加载到所述子片段对应的处理单元的缓存中。
5.根据权利要求4所述的调度方法,其中,所述预定规则为所述子片段的索引、所述子片段对应的所述非零元素的索引与所述处理单元分组中的处理单元的编号的代数关系;根据预定规则确定多个目标处理单元的步骤包括:根据所述子片段的索引、所述子片段对应的所述非零元素的索引和所述代数关系,确定目标编号;将编号为所述目标编号的处理单元确定为所述子片段对应的处理单元。
6.根据权利要求3至5中任意一项所述的调度方法,其中,将所述分块的非零元素注入所述目标处理单元分组中的所述处理单元的步骤包括:将至少一个待注入非零元素注入存储所述待注入非零元素对应的所述子片段的处理单元;其中,所述待注入非零元素为所述分块中的所述非零元素中的一者。
7.根据权利要求6所述的调度方法,其中,所述待注入非零元素对应的多个所述子片段与所述待注入非零元素对应的计算任务的连续多个计算阶段一一对应;连续两个计算阶段对应的所述子片段存储在不同处理单元的缓存中;所述处理单元分组中存储所述待注入非零元素对应的多个所述子片段的多个处理单元能够接续处理所述待注入非零元素对应的计算任务的连续多个计算阶段。
8.根据权利要求7所述的调度方法,其中,将至少一个待注入非零元素注入存储所述待注入非零元素对应的所述子片段的处理单元的步骤包括:将多个所述待注入非零元素同时分别注入多个处理单元;其中,多个所述待注入非零元素对应的同一个所述因子张量的子片段存储在不同处理单元的缓存中。
9.根据权利要求1至5中任意一项所述的调度方法,其中,划分处理单元分组的步骤包括:将目标数量的处理单元划分到一个所述处理单元分组中,组成所述处理单元分组,所述目标数量是根据所述分块大小和所述处理单元的缓存大小确定的。
10.根据权利要求9所述的调度方法,其中,将目标数量的处理单元划分到一个所述处理单元分组中,组成所述处理单元分组的步骤包括:将连续的目标数量的处理单元划分到一个所述处理单元分组中,组成所述处理单元分组。
11.根据权利要求10所述的调度方法,其中,将连续的目标数量的处理单元划分到一个所述处理单元分组中,组成所述处理单元分组的步骤包括:将构成矩形拓扑的目标数量的处理单元划分到一个处理单元分组中,组成所述处理单元分组。
12.一种计算任务的预处理方法,包括:根据第一张量的数据维度、目标缓存数据复用率和所述第一张量的稀疏度,将所述第一张量划分为至少一个分块;根据所述分块的大小和处理单元的缓存大小,确定目标数量,所述目标数量为组成一个处理单元分组的所述处理单元的数量,处理单元分组中的处理单元的数量与所述稀疏度相适应,处理单元分组中多个处理单元的缓存总量与所述稀疏度相适应;其中,组成同一个所述处理单元分组中的多个所述处理单元能够相互传输数据,所述处理单元分组用于处理所述分块对应的计算任务;根据所述分块的大小和处理单元的缓存大小,确定目标数量的步骤包括:根据所述分块的大小确定存储所述分块对应的第二张量的数据需要的存储空间大小;根据确定的存储所述分块对应的第二张量的数据需要的存储空间大小和所述处理单元的缓存大小,确定所述目标数量。
13.根据权利要求12所述的预处理方法,其中,根据第一张量的数据维度、目标缓存数据复用率和所述第一张量的稀疏度,将所述第一张量划分为至少一个分块的步骤包括:根据所述第一张量的数据维度、所述目标缓存数据复用率和所述第一张量的稀疏度确定所述分块的大小;根据确定的所述分块的大小将所述第一张量划分为至少一个所述分块。
14.一种计算任务的处理方法,应用于处理单元,包括:接收任务数据,所述任务数据对应第一张量的分块的非零元素;所述分块对应当前处理单元归属的处理单元分组,所述处理单元分组包括多个处理单元,所述处理单元分组中的处理单元的数量与所述第一张量的稀疏度相适应,处理单元分组中多个处理单元的缓存总量与所述稀疏度相适应,所述处理单元分组用于处理所述分块对应的计算任务;根据所述任务数据从缓存中读取所述非零元素对应的第二张量的数据;根据所述任务数据和所述第二张量的数据进行计算;将计算结果传输到第一目标处理单元,所述第一目标处理单元为所述处理单元分组中多个处理单元中的一者。
15.根据权利要求14所述的处理方法,其中,所述第二张量由多个因子张量缩并得到,所述分块对应缩并得到所述第二张量的各个所述因子张量中的数据片段,各个所述数据片段包括多个子片段;所述非零元素对应各个所述数据片段的一个所述子片段;当前处理单元的缓存中存储有至少一个所述非零元素对应的所述子片段;根据所述任务数据从缓存中读取所述非零元素对应的第二张量的数据的步骤包括:根据所述任务数据确定目标子片段,所述目标子片段为缓存中存储的至少一个所述非零元素对应的所述子片段中所述任务数据对应的子片段;从缓存中读取所述目标子片段,所述目标子片段为所述非零元素对应的第二张量的数据。
16.根据权利要求15所述的处理方法,其中,将计算结果传输到第一目标处理单元的步骤之前,所述处理方法还包括:根据预定规则确定所述第一目标处理单元;所述第一目标处理单元存储有第二目标子片段,所述第二目标子片段为所述非零元素对应的多个所述子片段中的一者。
17.根据权利要求16所述的处理方法,其中,所述预定规则为所述子片段的索引、所述子片段对应的非零元素的索引与所述处理单元分组中的处理单元的编号的代数关系;根据预定规则确定所述第一目标处理单元的步骤包括:根据所述第二目标子片段的索引、所述非零元素的索引和所述代数关系,确定目标编号;将编号为所述目标编号的处理单元确定为所述第一目标处理单元。
18.根据权利要求14至17中任意一项所述的处理方法,其中,将计算结果传输到第一目标处理单元的步骤之前,所述处理方法还包括:判断所述计算结果是否为最终结果;在所述计算结果为最终结果的情况下,将所述计算结果传输到片外;在所述计算结果非最终结果的情况下,执行将计算结果传输到第一目标处理单元的步骤。
19.根据权利要求14至17中任意一项所述的处理方法,其中,接收任务数据的步骤包括:接收注入当前处理单元的所述任务数据,所述任务数据为所述非零元素。
20.根据权利要求14至17中任意一项所述的处理方法,其中,接收任务数据的步骤包括:从第二目标处理单元接收所述任务数据,所述任务数据为所述第二目标处理单元发送的计算结果;其中,所述第二目标处理单元为所述处理单元分组中多个处理单元中的一者。
21.一种控制器,包括:一个或多个处理模块;存储模块,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理模块执行,使得所述一个或多个处理模块实现根据权利要求1至11中任意一项所述的计算任务的调度方法;和/或根据权利要求12至13中任意一项所述的计算任务的预处理方法。
22.一种处理单元,包括计算单元和缓存;所述计算单元能够从所述缓存中读取数据,实现根据权利要求14至20中任意一项所述的计算任务的处理方法。
23.一种电子设备,包括控制器和多个处理单元;所述控制器为根据权利要求21所述的控制器;所述处理单元为根据权利要求22所述的处理单元;其中,多个所述处理单元能够相互传输数据。
24.一种预处理装置,包括:一个或多个处理模块;存储模块,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理模块执行,使得所述一个或多个处理模块实现根据权利要求12至13中任意一项所述的计算任务的预处理方法。
25.一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现根据权利要求12至13中任意一项所述的计算任务的预处理方法。



