计算节点的排序方法、系统、装置及计算机可读存储介质与流程

未命名 08-29 阅读:72 评论:0


1.本发明涉及电路模拟技术领域,尤其涉及一种计算节点的排序方法、系统、装置及计算机可读存储介质。


背景技术:

2.电路模拟过程中,当前计算图的分配和调度的计算,一般采用差分约束系统(system of difference constraints,sdc)。
3.传统的sdc算法,工程实现较为复杂,无法快速获取计算节点的排序。
4.因此,有必要提供一种新型的计算节点的排序方法、系统、装置及计算机可读存储介质以解决现有技术中存在的上述问题。


技术实现要素:

5.本发明的目的在于提供一种计算节点的排序方法、系统、装置及计算机可读存储介质,提高计算节点执行速度。
6.为实现上述目的,本发明的所述计算节点的排序方法,包括以下步骤:
7.s1:初始化i、j和第i个节点的第一排序参考值;
8.s2:获取第i个节点的第j个存储单元中存储的第一编号值,所述第一编号值为v,获取第v个节点的长度,然后计算第v个节点的长度与第v个节点的第一排序参考值的和,获取所述和与第i个节点的第一排序参考值中的最大值,将第i个节点的第一排序参考值更新为所述最大值;
9.s3:将j累加1,比较j与j的取值上限的大小,若j小于j的取值上限,则执行步骤s2,若j大于或等于j的取值上限,则执行步骤s4;
10.s4:将i累加1,判断i与i的取值上限的大小,若i小于i的取值上限,则执行步骤s2,若i大于或等于i的取值上限,则执行步骤s5;
11.s5:初始化i、j和第i个节点的第二排序参考值;
12.s6:获取第i个节点的第j个存储单元中存储的第二编号值,所述第二编号为w,获取第w个节点的长度,然后计算第i个节点的第二排序参考值与第w个节点的长度的差,获取所述差与第w个节点的第二排序参考值中的最小值,将第i个节点的第二排序参考值更新为所述最小值;
13.s7:将j累加1,比较j与j的取值上限的大小,若j小于j的取值上限,则执行步骤s2,若j大于或等于j的取值上限,则执行步骤s8;
14.s8:将i累减1,比较i与0的大小,若i小于0则执行步骤s9,若i大于或等于0则执行步骤s6;
15.s9:根据权重、更新后的第i个节点的第一排序参考值和更新后的第i个节点的第二排序参考值,计算第i个节点的排序参考值;
16.s10:根据参考值对计算节点进行排序。
17.所述计算节点的排序方法的有益效果在于:根据权重、更新后的第i个节点的第一排序参考值和更新后的第i个节点的第二排序参考值,计算第i个节点的排序参考值,根据参考值对计算节点进行排序,从而提高了计算节点执行速度。
18.可选地,步骤s1中,所述初始化i、j和第i个节点的第一排序参考值,包括:
19.初始化i为0、j为0、第i个节点的第一排序参考值为0。
20.可选地,步骤s5中,所述初始化i、j和第i个节点的第二排序参考值,包括:
21.初始化i为i-1、j为0、第i个节点的第二排序参考值为长度的最大值,i为i的取值上限。
22.可选地,所述长度的最大值大于或等于10
60
,且小于或等于10
70

23.可选地,所述权重包括第一权重和第二权重,所述根据权重、更新后的第i个节点的第一排序参考值和更新后的第i个节点的第二排序参考值,计算第i个节点的排序参考值,包括:
24.计算所述第一权重与更新后的第i个节点的第一排序参考值的第一乘积;
25.计算所述第二权重与更新后的第i个节点的第二排序参考值的第二乘积;
26.所述第一乘积加所述第二乘积的和为第i个节点的排序参考值。
27.可选地,所述第一权重为大于或等于0.000095且小于或等于0.00015,所述第二权重为大于或等于995且小于或等于1005。
28.可选地,所述排序包括升序、降序中的至少一种。
29.本发明还提供了一种用于实现所述计算节点的排序方法的系统,所述系统包括第一初始化单元、第一获取单元、第一累加单元、第二累加单元、第二初始化单元、第二获取单元、第三累加单元、累减单元、排序参考值计算单元和排序单元,所述第一初始化单元用于初始化i、j和第i个节点的第一排序参考值;所述第一获取单元用于获取第i个节点的第j个存储单元中存储的第一编号值,所述第一编号值为v,获取第v个节点的长度,然后计算第v个节点的长度与第v个节点的第一排序参考值的和,获取所述和与第i个节点的第一排序参考值中的最大值,将第i个节点的第一排序参考值更新为所述最大值;所述第一累加单元用于将j累加1,比较j与j的取值上限的大小,若j小于j的取值上限,则驱动所述第一获取单元工作,若j大于或等于j的取值上限,则驱动所述第二累加单元工作;所述第二累加单元用于将i累加1,判断i与i的取值上限的大小,若i小于i的取值上限,则驱动所述第一获取单元工作,若i大于或等于i的取值上限,则驱动所述第二初始化单元工作;所述第二初始化单元用于初始化i、j和第i个节点的第二排序参考值;所述第二获取单元用于获取第i个节点的第j个存储单元中存储的第二编号值,所述第二编号为w,获取第w个节点的长度,然后计算第i个节点的第二排序参考值与第w个节点的长度的差,获取所述差与第w个节点的第二排序参考值中的最小值,将第i个节点的第二排序参考值更新为所述最小值;所述第三累加单元用于将j累加1,比较j与j的取值上限的大小,若j小于j的取值上限,则驱动所述第一获取单元工作,若j大于或等于j的取值上限,则驱动累减单元工作;所述累减单元用于将i累减1,比较i与0的大小,若i小于0则驱动所述排序参考值计算单元工作,若i大于或等于0则驱动所述第二获取单元工作;所述排序参考值计算单元用于根据权重、更新后的第i个节点的第一排序参考值和更新后的第i个节点的第二排序参考值,计算第i个节点的排序参考值;所述排序单元用于根据参考值对计算节点进行排序。
30.所述系统的有益效果在于:排序参考值计算单元根据权重、更新后的第i个节点的第一排序参考值和更新后的第i个节点的第二排序参考值,计算第i个节点的排序参考值,排序单元根据参考值对计算节点进行排序,从而提高了计算节点执行速度。
31.本发明还提供了一种装置,包括:
32.处理器;
33.用于存储处理器可执行指令的存储器;
34.其中,所述处理器被配置为执行所述存储器存储的指令时,实现所述计算节点的排序方法。
35.本发明提供了一种计算机可读存储介质,包括计算机指令,所述计算机指令被处理器执行时,实现所述计算节点的排序方法。
附图说明
36.图1为本发明的一些实施例中计算节点的排序方法的流程图。
具体实施方式
37.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本文中使用的“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
38.针对现有技术存在的问题,本发明的实施例提供了一种计算节点的排序方法。参照图1,所述计算节点的排序方法包括以下步骤:
39.s1:初始化i、j和第i个节点的第一排序参考值;
40.s2:获取第i个节点的第j个存储单元中存储的第一编号值,所述第一编号值为v,获取第v个节点的长度,然后计算第v个节点的长度与第v个节点的第一排序参考值的和,获取所述和与第i个节点的第一排序参考值中的最大值,将第i个节点的第一排序参考值更新为所述最大值;
41.s3:将j累加1,比较j与j的取值上限的大小,若j小于j的取值上限,则执行步骤s2,若j大于或等于j的取值上限,则执行步骤s4;
42.s4:将i累加1,判断i与i的取值上限的大小,若i小于i的取值上限,则执行步骤s2,若i大于或等于i的取值上限,则执行步骤s5;
43.s5:初始化i、j和第i个节点的第二排序参考值;
44.s6:获取第i个节点的第j个存储单元中存储的第二编号值,所述第二编号为w,获取第w个节点的长度,然后计算第i个节点的第二排序参考值与第w个节点的长度的差,获取所述差与第w个节点的第二排序参考值中的最小值,将第i个节点的第二排序参考值更新为所述最小值;
45.s7:将j累加1,比较j与j的取值上限的大小,若j小于j的取值上限,则执行步骤s2,
若j大于或等于j的取值上限,则执行步骤s8;
46.s8:将i累减1,比较i与0的大小,若i小于0则执行步骤s9,若i大于或等于0则执行步骤s6;
47.s9:根据权重、更新后的第i个节点的第一排序参考值和更新后的第i个节点的第二排序参考值,计算第i个节点的排序参考值;
48.s10:根据参考值对计算节点进行排序。其中,i、j、w、v、i均为大于或等于0的自然数,且所述第一编号值和所述第二编号值均代表指向第i个节点的节点的编号,不同的编号存储在第i个节点的不同存储单元中。
49.一些实施例中,步骤s1中,所述初始化i、j和第i个节点的第一排序参考值,包括:初始化i为0、j为0、第i个节点的第一排序参考值为0。所述第一排序参考值为尽快执行(as soon as possible,asap),即当计算图中节点没有依赖关系和资源限制的前提下就可以马上执行。
50.一些实施例中,步骤s5中,所述初始化i、j和第i个节点的第二排序参考值,包括:初始化i为i-1、j为0、第i个节点的第二排序参考值为长度的最大值,i为i的取值上限,即总的节点数量。所述第二排序参考值为尽可能晚执行(as late as possible,alap),即在计算图中关键路径执行结束前拖到最晚执行。
51.一些实施例中,所述长度的最大值大于或等于10
60
,且小于或等于10
70

52.一些实施例中,所述权重包括第一权重和第二权重,所述根据权重、更新后的第i个节点的第一排序参考值和更新后的第i个节点的第二排序参考值,计算第i个节点的排序参考值,包括:
53.计算所述第一权重与更新后的第i个节点的第一排序参考值的第一乘积;
54.计算所述第二权重与更新后的第i个节点的第二排序参考值的第二乘积;
55.所述第一乘积加所述第二乘积的和为第i个节点的排序参考值。
56.一些实施例中,所述第一权重为大于或等于0.000095且小于或等于0.00015,所述第二权重为大于或等于995且小于或等于1005。具体地,所述第一权重为0.0001,所述第二权重为1000。
57.一些实施例中,所述排序包括升序、降序中的至少一种。
58.本发明还提供了一种用于实现所述计算节点的排序方法的系统,所述系统包括第一初始化单元、第一获取单元、第一累加单元、第二累加单元、第二初始化单元、第二获取单元、第三累加单元、累减单元、排序参考值计算单元和排序单元,所述第一初始化单元用于初始化i、j和第i个节点的第一排序参考值;所述第一获取单元用于获取第i个节点的第j个存储单元中存储的第一编号值,所述第一编号值为v,获取第v个节点的长度,然后计算第v个节点的长度与第v个节点的第一排序参考值的和,获取所述和与第i个节点的第一排序参考值中的最大值,将第i个节点的第一排序参考值更新为所述最大值;所述第一累加单元用于将j累加1,比较j与j的取值上限的大小,若j小于j的取值上限,则驱动所述第一获取单元工作,若j大于或等于j的取值上限,则驱动所述第二累加单元工作;所述第二累加单元用于将i累加1,判断i与i的取值上限的大小,若i小于i的取值上限,则驱动所述第一获取单元工作,若i大于或等于i的取值上限,则驱动所述第二初始化单元工作;所述第二初始化单元用于初始化i、j和第i个节点的第二排序参考值;所述第二获取单元用于获取第i个节点的第j
个存储单元中存储的第二编号值,所述第二编号为w,获取第w个节点的长度,然后计算第i个节点的第二排序参考值与第w个节点的长度的差,获取所述差与第w个节点的第二排序参考值中的最小值,将第i个节点的第二排序参考值更新为所述最小值;所述第三累加单元用于将j累加1,比较j与j的取值上限的大小,若j小于j的取值上限,则驱动所述第一获取单元工作,若j大于或等于j的取值上限,则驱动累减单元工作;所述累减单元用于将i累减1,比较i与0的大小,若i小于0则驱动所述排序参考值计算单元工作,若i大于或等于0则驱动所述第二获取单元工作;所述排序参考值计算单元用于根据权重、更新后的第i个节点的第一排序参考值和更新后的第i个节点的第二排序参考值,计算第i个节点的排序参考值;所述排序单元用于根据参考值对计算节点进行排序。
59.本发明还提供了一种装置,包括:
60.处理器;
61.用于存储处理器可执行指令的存储器;
62.其中,所述处理器被配置为执行所述存储器存储的指令时,实现所述计算节点的排序方法。
63.本发明提供了一种计算机可读存储介质,包括计算机指令,所述计算机指令被处理器执行时,实现所述计算节点的排序方法。
64.计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子,包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(read only memory,rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)或闪存、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
65.计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆,或者上述的任意合适的组合。
66.可以以一种或多种程序设计语言或其组合来编写用于执行本说明书操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、smalltalk、c++,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。
67.虽然在上文中详细说明了本发明的实施方式,但是对于本领域的技术人员来说显而易见的是,能够对这些实施方式进行各种修改和变化。但是,应理解,这种修改和变化都属于权利要求书中所述的本发明的范围和精神之内。而且,在此说明的本发明可有其它的实施方式,并且可通过多种方式实施或实现。

技术特征:
1.一种计算节点的排序方法,其特征在于,包括以下步骤:s1:初始化i、j和第i个节点的第一排序参考值;s2:获取第i个节点的第j个存储单元中存储的第一编号值,所述第一编号值为v,获取第v个节点的长度,然后计算第v个节点的长度与第v个节点的第一排序参考值的和,获取所述和与第i个节点的第一排序参考值中的最大值,将第i个节点的第一排序参考值更新为所述最大值;s3:将j累加1,比较j与j的取值上限的大小,若j小于j的取值上限,则执行步骤s2,若j大于或等于j的取值上限,则执行步骤s4;s4:将i累加1,判断i与i的取值上限的大小,若i小于i的取值上限,则执行步骤s2,若i大于或等于i的取值上限,则执行步骤s5;s5:初始化i、j和第i个节点的第二排序参考值;s6:获取第i个节点的第j个存储单元中存储的第二编号值,所述第二编号为w,获取第w个节点的长度,然后计算第i个节点的第二排序参考值与第w个节点的长度的差,获取所述差与第w个节点的第二排序参考值中的最小值,将第i个节点的第二排序参考值更新为所述最小值;s7:将j累加1,比较j与j的取值上限的大小,若j小于j的取值上限,则执行步骤s2,若j大于或等于j的取值上限,则执行步骤s8;s8:将i累减1,比较i与0的大小,若i小于0则执行步骤s9,若i大于或等于0则执行步骤s6;s9:根据权重、更新后的第i个节点的第一排序参考值和更新后的第i个节点的第二排序参考值,计算第i个节点的排序参考值;s10:根据参考值对计算节点进行排序。2.根据权利要求1所述的计算节点的排序方法,其特征在于,步骤s1中,所述初始化i、j和第i个节点的第一排序参考值,包括:初始化i为0、j为0、第i个节点的第一排序参考值为0。3.根据权利要求1所述的计算节点的排序方法,其特征在于,步骤s5中,所述初始化i、j和第i个节点的第二排序参考值,包括:初始化i为i-1、j为0、第i个节点的第二排序参考值为长度的最大值,i为i的取值上限。4.根据权利要求3所述的计算节点的排序方法,其特征在于,所述长度的最大值大于或等于10
60
,且小于或等于10
70
。5.根据权利要求1所述的计算节点的排序方法,其特征在于,所述权重包括第一权重和第二权重,所述根据权重、更新后的第i个节点的第一排序参考值和更新后的第i个节点的第二排序参考值,计算第i个节点的排序参考值,包括:计算所述第一权重与更新后的第i个节点的第一排序参考值的第一乘积;计算所述第二权重与更新后的第i个节点的第二排序参考值的第二乘积;所述第一乘积加所述第二乘积的和为第i个节点的排序参考值。6.根据权利要求5所述的计算节点的排序方法,其特征在于,所述第一权重为大于或等于0.000095且小于或等于0.00015,所述第二权重为大于或等于995且小于或等于1005。7.根据权利要求1所述的计算节点的排序方法,其特征在于,所述排序包括升序、降序
中的至少一种。8.一种用于实现如权利要求1~7任意一项所述的计算节点的排序方法的系统,其特征在于,所述系统包括第一初始化单元、第一获取单元、第一累加单元、第二累加单元、第二初始化单元、第二获取单元、第三累加单元、累减单元、排序参考值计算单元和排序单元,所述第一初始化单元用于初始化i、j和第i个节点的第一排序参考值;所述第一获取单元用于获取第i个节点的第j个存储单元中存储的第一编号值,所述第一编号值为v,获取第v个节点的长度,然后计算第v个节点的长度与第v个节点的第一排序参考值的和,获取所述和与第i个节点的第一排序参考值中的最大值,将第i个节点的第一排序参考值更新为所述最大值;所述第一累加单元用于将j累加1,比较j与j的取值上限的大小,若j小于j的取值上限,则驱动所述第一获取单元工作,若j大于或等于j的取值上限,则驱动所述第二累加单元工作;所述第二累加单元用于将i累加1,判断i与i的取值上限的大小,若i小于i的取值上限,则驱动所述第一获取单元工作,若i大于或等于i的取值上限,则驱动所述第二初始化单元工作;所述第二初始化单元用于初始化i、j和第i个节点的第二排序参考值;所述第二获取单元用于获取第i个节点的第j个存储单元中存储的第二编号值,所述第二编号为w,获取第w个节点的长度,然后计算第i个节点的第二排序参考值与第w个节点的长度的差,获取所述差与第w个节点的第二排序参考值中的最小值,将第i个节点的第二排序参考值更新为所述最小值;所述第三累加单元用于将j累加1,比较j与j的取值上限的大小,若j小于j的取值上限,则驱动所述第一获取单元工作,若j大于或等于j的取值上限,则驱动累减单元工作;所述累减单元用于将i累减1,比较i与0的大小,若i小于0则驱动所述排序参考值计算单元工作,若i大于或等于0则驱动所述第二获取单元工作;所述排序参考值计算单元用于根据权重、更新后的第i个节点的第一排序参考值和更新后的第i个节点的第二排序参考值,计算第i个节点的排序参考值;所述排序单元用于根据参考值对计算节点进行排序。9.一种装置,其特征在于,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述存储器存储的指令时,实现权利要求1~5任意一项所述的计算节点的排序方法。10.一种计算机可读存储介质,其特征在于,包括计算机指令,所述计算机指令被处理器执行时,实现权利要求1~5任意一项所述的计算节点的排序方法。

技术总结
本发明提供了一种计算节点的排序方法、系统、装置及计算机可读存储介质,所述计算节点的排序方法包括:根据权重、更新后的第i个节点的第一排序参考值和更新后的第i个节点的第二排序参考值,计算第i个节点的排序参考值,根据参考值对计算节点进行排序,从而提高了计算节点执行速度。点执行速度。点执行速度。


技术研发人员:刘清燕 边立剑
受保护的技术使用者:上海安路信息科技股份有限公司
技术研发日:2023.05.29
技术公布日:2023/8/28
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐