本发明涉及数据搬移,并且更具体地,涉及一种闭连接图的解耦与编译方法及装置。
背景技术:
1、在一个用于神经网络计算的片上系统中,涉及到大量的中间数据搬移。这些数据搬移可能是一对一,一对多,也可能是多对一,多对多的。一个多对多的数据搬移中多个节点发送数据包至指定目的地,接收节点街道数据包之后重新排列后存入本地,但是上述数据传输在系统中是大量存在的,且不局限于上述类型。同一个发送节点,可能会执行多个数据传输,且每个传输的类型各不相同,接收端的重新排列规则也因数据包而异。因此如何匹配某个传输的发送端与接收端的配置成了一个问题。目前已有的方案是,为每个发送端的数据包添加一个随机且全局唯一的id作为该笔数据的身份标识。在这种方案下,发送端、接收端的数据匹配,要求在数据传输前,先进行一次握手,讲匹配信息预先存下,然后才能进行真正的数据传输。但是这种标记方法有以下两个缺点:1.需要预先额外的一次的握手,传输匹配信息;存储匹配信息需要占用硬件存储资源。
技术实现思路
1、针对现有技术的不足,本发明提供一种闭连接图的解耦与编译方法及装置。
2、根据本发明的一个方面,提供了一种闭连接图的解耦与编译方法,包括:
3、根据待生成图的公式生成依赖图,其中依赖图中每个节点信息包括依赖方向向量以及目标方向向量;
4、依次追踪依赖图中每个节点的依赖方向向量的目标方向向量,生成依赖图中每个节点的最小闭连接图;
5、将依赖图中每个节点的最小闭连接图进行比较,删除多个最小闭连接图中的冗余连接图,获取多个待处理最小闭连接图;
6、为每个待处理最小闭连接图分配连接id,并为每个待处理最小闭连接图中的上下游节点分配节点id,生成多个具有id的闭图;
7、将多个具有id的闭图根据预设格式进行存储,完成待生成图的编译。
8、可选地,依次追踪依赖图中每个节点的依赖方向向量的目标方向向量,生成依赖图中每个节点的最小闭连接图,包括:
9、依次追踪依赖图中每个节点的每个依赖方向向量,将当前节点及其每个依赖方向向量记录在图项列表中;
10、追溯图项列表中每个依赖方向向量的目标方向向量,若依赖方向向量的目标方向向量不是当前追踪的节点且未曾追踪过,则将该目标方向向量记录在遍历列表中,依次对遍历列表递归执行追溯操作,生成依赖图中每个节点的最小闭连接图。
11、可选地,将依赖图中每个节点的最小闭连接图进行比较,删除多个最小闭连接图中的冗余连接图,获取多个待处理最小闭连接图,包括:
12、依次将每个最小闭连接图与其他最小闭连接图进行比较,若该最小闭连接图包含在其他最小闭连接图中,则删除该最小闭连接图;
13、依次比较结束后,将保留的最小闭连接图作为待处理最小闭连接图。
14、可选地,对多个待处理最小闭连接图进行解耦和拆分,获取每个待处理最小闭连接图的多个小解耦拆分闭图,包括:
15、通过对多目标的节点插入多播的方法,将待处理最小闭连接图中多个目标对应一个公共上游节点的连接进行打断,生成第一解耦拆分闭图集;
16、采用对多目标的节点插入多播的方法,将第一解耦拆分闭图集中存在多个目标对应一个公共上游节点的连接进行打断,生成第二解耦拆分闭图集;
17、迭代进行上述操作,直至生成的所有解耦拆分闭图均不包含多个目标对应一个公共上游节点的连接,生成每个最小待处理最小闭连接图的多个小解耦拆分闭图。
18、可选地,为每个待处理最小闭连接图分配连接id,并为每个待处理最小闭连接图中的上下游节点分配节点id,生成多个具有id的闭图,包括:
19、对多个待处理最小闭连接图进行解耦和拆分,获取每个待处理最小闭连接图的多个小解耦拆分闭图;
20、为每个小解耦拆分闭图分配连接id,并为每个小解耦拆分闭图中的上下游节点分配节点id,生成多个具有id的闭图。
21、可选地,节点id由连接id和后缀标记组成。
22、根据本发明的另一个方面,提供了一种闭连接图的解耦与编译装置,包括:
23、第一生成模块,用于根据待生成图的公式生成依赖图,其中依赖图中每个节点信息包括依赖方向向量以及目标方向向量;
24、第二生成模块,用于依次追踪依赖图中每个节点的依赖方向向量的目标方向向量,生成依赖图中每个节点的最小闭连接图;
25、第一获取模块,用于将依赖图中每个节点的最小闭连接图进行比较,删除多个最小闭连接图中的冗余连接图,获取多个待处理最小闭连接图;
26、第二获取模块,用于为每个待处理最小闭连接图分配连接id,并为每个待处理最小闭连接图中的上下游节点分配节点id,生成多个具有id的闭图;
27、第三生成模块,用于将多个具有id的闭图根据预设格式进行存储,完成待生成图的编译。
28、根据本发明的又一个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本发明上述任一方面所述的方法。
29、根据本发明的又一个方面,提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本发明上述任一方面所述的方法。
30、从而,本申请提供一种闭连接图的解耦与编译方法,根据待生成图公式生成依赖图,其中依赖图中每个节点信息包括依赖方向向量以及目标方向向量;依次追踪依赖图中每个节点的依赖方向向量的目标方向向量,生成依赖图中每个节点的最小闭连接图;将依赖图中每个节点的最小闭连接图进行比较,删除多个最小闭连接图中的冗余连接图,获取多个待处理最小闭连接图;为每个待处理最小闭连接图分配连接id,并为每个小解耦拆分闭图中的上下游节点分配节点id,生成多个具有id的闭图;将多个具有id的闭图根据预设格式进行编译,生成多个编译闭图,并根据多个编译闭图对数据进行搬移。配合connectionid机制,实现了从公式到闭图的编译。提高数据搬移效率。
1.一种闭连接图的解耦与编译方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,依次追踪所述依赖图中每个节点的所述依赖方向向量的所述目标方向向量,生成所述依赖图中每个节点的最小闭连接图,包括:
3.根据权利要求1所述的方法,其特征在于,将所述依赖图中每个节点的所述最小闭连接图进行比较,删除多个所述最小闭连接图中的冗余连接图,获取多个待处理最小闭连接图,包括:
4.根据权利要求1所述的方法,其特征在于,对多个所述待处理最小闭连接图进行解耦和拆分,获取每个所述待处理最小闭连接图的多个小解耦拆分闭图,包括:
5.根据权利要求1所述的方法,其特征在于,为每个所述待处理最小闭连接图分配连接id,并为每个所述待处理最小闭连接图中的上下游节点分配节点id,生成多个具有id的闭图,包括:
6.根据权利要求5所述的方法,其特征在于,所述节点id由所述连接id和后缀标记组成。
7.一种闭连接图的解耦与编译装置,其特征在于,包括:
8.根据权利要求7所述的装置,其特征在于,第二生成模块,包括:
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-6任一所述的方法。
10.一种电子设备,其特征在于,所述电子设备包括: