CN117707769A - 一种基于分组排序的仿真计算加速方法和相关装置 - Google Patents
一种基于分组排序的仿真计算加速方法和相关装置 Download PDFInfo
- Publication number
- CN117707769A CN117707769A CN202311720266.9A CN202311720266A CN117707769A CN 117707769 A CN117707769 A CN 117707769A CN 202311720266 A CN202311720266 A CN 202311720266A CN 117707769 A CN117707769 A CN 117707769A
- Authority
- CN
- China
- Prior art keywords
- calculation
- group
- groups
- jumping
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 457
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000004088 simulation Methods 0.000 title claims abstract description 35
- 230000001133 acceleration Effects 0.000 title claims abstract description 24
- 238000012163 sequencing technique Methods 0.000 claims abstract description 17
- 230000009191 jumping Effects 0.000 claims description 60
- 230000008569 process Effects 0.000 description 11
- 230000001052 transient effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于分组排序的仿真计算加速方法和相关装置,根据每个控制计算块的输入数量和输出数量,对所有控制计算块进行分组,得到若干个计算组,根据每个计算组的输入数量大小,将每个计算组作为一个独立单元进行排序,按计算时间均衡原则一次将各计算组放入对应的并行计算单元中,实现了在不影响控制计算块时序的情况下,以组合成计算组的方式将控制计算块均衡分配到并行计算单元中,在合理利用计算资源的同时,提高了计算效率,解决了现有的电力系统电磁暂态仿真计算过程没有充分考虑多并行计算单元的资源分配和顺序安排对最终计算时间的影响,难以实现对计算硬件系统的合理利用,难以提高计算效率的技术问题。
Description
技术领域
本发明涉及电力系统仿真技术领域,尤其涉及一种基于分组排序的仿真计算加速方法和相关装置。
背景技术
电力系统仿真计算依靠计算硬件系统的强大算力以期望加速求解过程,实现非实时仿真计算甚至实时仿真计算。由于计算硬件系统有充足的计算资源和存储资源,较以往多采用的单一计算机计算有着明显的优势。但随着区域电网的互联,电力系统规模不断扩大,加之大规模新能源等快速响应电力电子设备的广泛使用,使得电力系统仿真计算的规模和运算复杂程度日益复杂,计算过程中各运算子单元间的数据交互愈发频繁,如何合理高效利用计算硬件系统进行资源加速计算,是亟待研究的问题。
现有的电力系统电磁暂态仿真计算过程并没有充分考虑多并行计算单元的资源分配和顺序安排对最终计算时间的影响,难以实现对计算硬件系统的合理利用,难以提高计算效率。
发明内容
本发明提供了一种基于分组排序的仿真计算加速方法和相关装置,用于解决现有的电力系统电磁暂态仿真计算过程没有充分考虑多并行计算单元的资源分配和顺序安排对最终计算时间的影响,难以实现对计算硬件系统的合理利用,难以提高计算效率的技术问题。
有鉴于此,本发明第一方面提供了一种基于分组排序的仿真计算加速方法,包括以下步骤:
S1、获取仿真所分配的并行计算单元和控制计算块;
S2、根据每个控制计算块的输入数量和输出数量,对所有控制计算块进行分组,得到若干个计算组;
S3、根据每个计算组的输入数量大小,将每个计算组作为一个独立单元进行排序,按计算时间均衡原则一次将各计算组放入对应的并行计算单元中。
可选地,步骤S2具体包括:
S21、在未归入计算组的控制计算块中,判断是否存在没有输入的控制计算块,若是,则找到1个没有输入的控制计算块,跳转至步骤S22,若否,则判断未归入计算组的控制计算块数量是否大于0,若未归入计算组的控制计算块数量大于0,则在未归入计算组的控制计算块中选取输入数量最少的一个控制计算块,跳转至步骤S22,若未归入计算组的控制计算块数量为0,则跳转至步骤S24;
S22、判断当前选择的控制计算块的输出数量是否为1,若是,则跳转至步骤S23,否则,将当前选择的控制计算块加入当前计算组,返回步骤S21;
S23、将当前选择的控制计算块加入当前计算组,并以当前选择的控制计算块所输出的控制计算块为当前选择的控制计算块,返回步骤S22;
S24、分组结束,得到若干个计算组。
可选地,步骤S3具体包括:
S31、将所有计算组的编号i设置为0,将每个计算组的输入数量配置为每个计算组的当前输入数量,跳转至步骤S32;
S32、在当前编号为0的计算组中选取1个当前输入数量最小的计算组,将选取的计算组的编号i配置为1,令编号i为1的计算组的当前输入数量为0,获取编号i为1的计算组的所有输出对应的计算组,将输出对应的计算组的当前输入数量减1,跳转至步骤S33;
S33、将编号i为1的计算组放入当前并行计算单元,跳转至步骤S34;
S34、在编号i为1的计算组的所有输出对应的计算组中判断是否存在当前输入数量为1的计算组,若是,则将i自增1,将找到的当前输入数量为1的计算组命名为计算组i,并令计算组i所有输出对应的计算组的当前输入数量减1,跳转至步骤S35,若否,则判断所有计算组是否已经全部放入并行计算单元,若未全部放入,则在当前所有编号为0的计算组中找到一个当前输入数量最小的计算组命名为计算组i,跳转至步骤S36,若所有计算组已经全部放入并行计算单元,则跳转至步骤S37;
S35、将计算组i放入与计算组i-1所在的并行计算单元,返回步骤S34;
S36、将计算组i放入所有并行计算单元中计算组时间总和最小的并行计算单元,返回步骤S34;
S37、结束。
可选地,步骤S32和步骤S34中,若当前输入数量减1后小于0,则令减1后的当前输入数量等于0。
本发明第二方面提供了一种基于分组排序的仿真计算加速装置,包括以下模块:
获取模块,用于获取仿真所分配的并行计算单元和控制计算块;
分组模块,用于根据每个控制计算块的输入数量和输出数量,对所有控制计算块进行分组,得到若干个计算组;
均衡分配模块,用于根据每个计算组的输入数量大小,将每个计算组作为一个独立单元进行排序,按计算时间均衡原则一次将各计算组放入对应的并行计算单元中。
可选地,分组模块具体用于执行以下步骤:
S21、在未归入计算组的控制计算块中,判断是否存在没有输入的控制计算块,若是,则找到1个没有输入的控制计算块,跳转至步骤S22,若否,则判断未归入计算组的控制计算块数量是否大于0,若未归入计算组的控制计算块数量大于0,则在未归入计算组的控制计算块中选取输入数量最少的一个控制计算块,跳转至步骤S22,若未归入计算组的控制计算块数量为0,则跳转至步骤S24;
S22、判断当前选择的控制计算块的输出数量是否为1,若是,则跳转至步骤S23,否则,将当前选择的控制计算块加入当前计算组,返回步骤S21;
S23、将当前选择的控制计算块加入当前计算组,并以当前选择的控制计算块所输出的控制计算块为当前选择的控制计算块,返回步骤S22;
S24、分组结束,得到若干个计算组。
可选地,均衡分配模块具体用于执行以下步骤:
S31、将所有计算组的编号i设置为0,将每个计算组的输入数量配置为每个计算组的当前输入数量,跳转至步骤S32;
S32、在当前编号为0的计算组中选取1个当前输入数量最小的计算组,将选取的计算组的编号i配置为1,令编号i为1的计算组的当前输入数量为0,获取编号i为1的计算组的所有输出对应的计算组,将输出对应的计算组的当前输入数量减1,跳转至步骤S33;
S33、将编号i为1的计算组放入当前并行计算单元,跳转至步骤S34;
S34、在编号i为1的计算组的所有输出对应的计算组中判断是否存在当前输入数量为1的计算组,若是,则将i自增1,将找到的当前输入数量为1的计算组命名为计算组i,并令计算组i所有输出对应的计算组的当前输入数量减1,跳转至步骤S35,若否,则判断所有计算组是否已经全部放入并行计算单元,若未全部放入,则在当前所有编号为0的计算组中找到一个当前输入数量最小的计算组命名为计算组i,跳转至步骤S36,若所有计算组已经全部放入并行计算单元,则跳转至步骤S37;
S35、将计算组i放入与计算组i-1所在的并行计算单元,返回步骤S34;
S36、将计算组i放入所有并行计算单元中计算组时间总和最小的并行计算单元,返回步骤S34;
S37、结束。
可选地,步骤S32和步骤S34中,若当前输入数量减1后小于0,则令减1后的当前输入数量等于0。
本发明第三方面提供了一种基于分组排序的仿真计算加速设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面任一种所述的基于分组排序的仿真计算加速方法。
本发明第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面任一种所述的基于分组排序的仿真计算加速方法。
从以上技术方案可以看出,本发明提供的基于分组排序的仿真计算加速方法具有以下优点:
本发明提供的基于分组排序的仿真计算加速方法,根据每个控制计算块的输入数量和输出数量,对所有控制计算块进行分组,得到若干个计算组,根据每个计算组的输入数量大小,将每个计算组作为一个独立单元进行排序,按计算时间均衡原则一次将各计算组放入对应的并行计算单元中,实现了在不影响控制计算块时序的情况下,以组合成计算组的方式将控制计算块均衡分配到并行计算单元中,在合理利用计算资源的同时,提高了计算效率,解决了现有的电力系统电磁暂态仿真计算过程没有充分考虑多并行计算单元的资源分配和顺序安排对最终计算时间的影响,难以实现对计算硬件系统的合理利用,难以提高计算效率的技术问题。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例中提供的基于分组排序的仿真计算加速方法的流程示意图;
图2为本发明实施例中提供的基于分组排序的仿真计算加速方法的另一流程示意图;
图3为本发明实施例中提供的仿真任务所配置的控制计算块的时序关系图;
图4为根据图3得到的分组结果;
图5为本发明实施例中提供的基于分组排序的仿真计算加速方法的再一流程示意图;
图6为本发明实施例中提供的基于分组排序的仿真计算加速装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解,请参阅图1,本发明提供了一种基于分组排序的仿真计算加速方法的实施例,包括:
步骤S1、获取仿真所分配的并行计算单元和控制计算块。
需要说明的是,电磁暂态仿真计算中,存在很多控制计算块,每个控制计算块都有自身的时间,在保证其时序先后顺序正确的前提下,可以被分配到多个并行计算核(即并行计算单元),包括CPU(Central Processing Unit)核、GPU(Graphics Processing Unit)核等。本发明实施例中,先获取仿真任务所配置的并行计算单元和控制计算块。
步骤S2、根据每个控制计算块的输入数量和输出数量,对所有控制计算块进行分组,得到若干个计算组。
需要说明的是,控制计算块是有相关时序的,每个控制计算块可能有0-若干个输入(或者可以说是输入控制计算块),也可能有0-若干个输出(或者可以说是输出控制计算块),可以保证时序的前提下尽可能并行。因此,可以获取每个控制计算块的输入数量(即输入控制计算块数量)和输出数量(即输出控制计算块数量),然后对所有控制计算块进行分组,得到若干个计算组。
具体的,如图2所示,对所有控制计算块进行分组的具体执行过程包括以下步骤:
步骤S21、在未归入计算组的控制计算块中,判断是否存在没有输入的控制计算块,若是,则找到1个没有输入的控制计算块,跳转至步骤S22,若否,则判断未归入计算组的控制计算块数量是否大于0,若未归入计算组的控制计算块数量大于0,则在未归入计算组的控制计算块中选取输入数量最少的一个控制计算块,跳转至步骤S22,若未归入计算组的控制计算块数量为0,则跳转至步骤S24;
步骤S22、判断当前选择的控制计算块的输出数量是否为1,若是,则跳转至步骤S23,否则,将当前选择的控制计算块加入当前计算组,返回步骤S21;
步骤S23、将当前选择的控制计算块加入当前计算组,并以当前选择的控制计算块所输出的控制计算块为当前选择的控制计算块,返回步骤S22;
步骤S24、分组结束,得到若干个计算组。
本发明中提供一个具体的例子进行说明,需要指出的是,本发明中提供的具体例子仅用于对本发明的技术方案进行直观说明,不作为对本发明技术方案的具体限定。如图3所示,A、B、C、D、E、F为仿真任务所配置的控制计算块,A的输入数量为0,B、C、D、E、F的输入数量为1,A、B、C的输出数量为1,D的输出数量为2,E、F的输出数量为0。在A、B、C、D、E、F中,A是没有输入的控制计算块,在执行步骤S21时,先找到的是A,然后跳转至步骤S22,A的输出为1,因此,跳转至步骤S23,将A加入当前计算组,然后以B为当前选择的控制计算块,返回执行步骤S22。当执行到D时,由于D的输出数量不为1,则将D加入当前计算组(记为第一组),返回步骤S21,此时未归入计算组的控制计算块剩下E和F,从E和F中选择一个控制计算块,以选取E为例,跳转至步骤S22,直接将E加入当前计算组(记为第二组),然后返回步骤S21,此时未归入计算组的控制计算块剩下F,选择F,跳转至步骤S22,直接将F加入当前计算组(记为第三组)。最后得到分组结果如图4所示。
步骤S3、根据每个计算组的输入数量大小,将每个计算组作为一个独立单元进行排序,按计算时间均衡原则一次将各计算组放入对应的并行计算单元中。
需要说明的是,在对控制计算块分组结束后,得到了分组数量,由于分组只是对控制计算块进行分组,并不改变原有的控制计算块之间的时序关系和输入输出情况,因此各计算组之间的输入输出关系是确定的,因此,可以根据各计算组的关系对各计算组进行排序,然后按计算时间均衡原则一次将各计算组放入对应的并行计算单元中,实现对计算组在并行计算单元中的均衡分配。
具体地,如图5所示,步骤S3的具体执行步骤为:
步骤S31、将所有计算组的编号i设置为0,将每个计算组的输入数量配置为每个计算组的当前输入数量,跳转至步骤S32。
步骤S32、在当前编号为0的计算组中选取1个当前输入数量最小的计算组,将选取的计算组的编号i配置为1,令编号i为1的计算组的当前输入数量为0,获取编号i为1的计算组的所有输出对应的计算组,将输出对应的计算组的当前输入数量减1,跳转至步骤S33。其中,若当前输入数量减1后小于0,则令减1后的当前输入数量等于0。
步骤S33、将编号i为1的计算组放入当前并行计算单元,跳转至步骤S34。
步骤S34、在编号i为1的计算组的所有输出对应的计算组中判断是否存在当前输入数量为1的计算组,若是,则将i自增1,将找到的当前输入数量为1的计算组命名为计算组i,并令计算组i所有输出对应的计算组的当前输入数量减1,跳转至步骤S35,若否,则判断所有计算组是否已经全部放入并行计算单元,若未全部放入,则在当前所有编号为0的计算组中找到一个当前输入数量最小的计算组命名为计算组i,跳转至步骤S36,若所有计算组已经全部放入并行计算单元,则跳转至步骤S37。其中,若当前输入数量减1后小于0,则令减1后的当前输入数量等于0。
步骤S35、将计算组i放入与计算组i-1所在的并行计算单元,返回步骤S34。
步骤S36、将计算组i放入所有并行计算单元中计算组时间总和最小的并行计算单元,返回步骤S34。
步骤S37、结束。
本发明提供的基于分组排序的仿真计算加速方法,根据每个控制计算块的输入数量和输出数量,对所有控制计算块进行分组,得到若干个计算组,根据每个计算组的输入数量大小,将每个计算组作为一个独立单元进行排序,按计算时间均衡原则一次将各计算组放入对应的并行计算单元中,实现了在不影响控制计算块时序的情况下,以组合成计算组的方式将控制计算块均衡分配到并行计算单元中,在合理利用计算资源的同时,提高了计算效率,解决了现有的电力系统电磁暂态仿真计算过程没有充分考虑多并行计算单元的资源分配和顺序安排对最终计算时间的影响,难以实现对计算硬件系统的合理利用,难以提高计算效率的技术问题。
为了便于理解,请参阅图6,本发明中提供了一种基于分组排序的仿真计算加速装置的实施例,包括以下模块:
获取模块,用于获取仿真所分配的并行计算单元和控制计算块;
分组模块,用于根据每个控制计算块的输入数量和输出数量,对所有控制计算块进行分组,得到若干个计算组;
均衡分配模块,用于根据每个计算组的输入数量大小,将每个计算组作为一个独立单元进行排序,按计算时间均衡原则一次将各计算组放入对应的并行计算单元中。
分组模块具体用于执行以下步骤:
S21、在未归入计算组的控制计算块中,判断是否存在没有输入的控制计算块,若是,则找到1个没有输入的控制计算块,跳转至步骤S22,若否,则判断未归入计算组的控制计算块数量是否大于0,若未归入计算组的控制计算块数量大于0,则在未归入计算组的控制计算块中选取输入数量最少的一个控制计算块,跳转至步骤S22,若未归入计算组的控制计算块数量为0,则跳转至步骤S24;
S22、判断当前选择的控制计算块的输出数量是否为1,若是,则跳转至步骤S23,否则,将当前选择的控制计算块加入当前计算组,返回步骤S21;
S23、将当前选择的控制计算块加入当前计算组,并以当前选择的控制计算块所输出的控制计算块为当前选择的控制计算块,返回步骤S22;
S24、分组结束,得到若干个计算组。
均衡分配模块具体用于执行以下步骤:
S31、将所有计算组的编号i设置为0,将每个计算组的输入数量配置为每个计算组的当前输入数量,跳转至步骤S32;
S32、在当前编号为0的计算组中选取1个当前输入数量最小的计算组,将选取的计算组的编号i配置为1,令编号i为1的计算组的当前输入数量为0,获取编号i为1的计算组的所有输出对应的计算组,将输出对应的计算组的当前输入数量减1,跳转至步骤S33;
S33、将编号i为1的计算组放入当前并行计算单元,跳转至步骤S34;
S34、在编号i为1的计算组的所有输出对应的计算组中判断是否存在当前输入数量为1的计算组,若是,则将i自增1,将找到的当前输入数量为1的计算组命名为计算组i,并令计算组i所有输出对应的计算组的当前输入数量减1,跳转至步骤S35,若否,则判断所有计算组是否已经全部放入并行计算单元,若未全部放入,则在当前所有编号为0的计算组中找到一个当前输入数量最小的计算组命名为计算组i,跳转至步骤S36,若所有计算组已经全部放入并行计算单元,则跳转至步骤S37;
S35、将计算组i放入与计算组i-1所在的并行计算单元,返回步骤S34;
S36、将计算组i放入所有并行计算单元中计算组时间总和最小的并行计算单元,返回步骤S34;
S37、结束。
步骤S32和步骤S34中,若当前输入数量减1后小于0,则令减1后的当前输入数量等于0。
本发明中提供了一种基于分组排序的仿真计算加速设备的实施例,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行本发明中提供的基于分组排序的仿真计算加速方法。
本发明中提供了一种计算机可读存储介质的实施例,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行本发明中提供的基于分组排序的仿真计算加速方法。
本发明中提供的基于分组排序的仿真计算加速装置、设备和计算机可读存储介质,用于执行本发明中提供的基于分组排序的仿真计算加速方法,其原理与所取得的技术效果与本发明中提供的基于分组排序的仿真计算加速方法相同,在此不再赘述。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于分组排序的仿真计算加速方法,其特征在于,包括以下步骤:
S1、获取仿真所分配的并行计算单元和控制计算块;
S2、根据每个控制计算块的输入数量和输出数量,对所有控制计算块进行分组,得到若干个计算组;
S3、根据每个计算组的输入数量大小,将每个计算组作为一个独立单元进行排序,按计算时间均衡原则一次将各计算组放入对应的并行计算单元中。
2.根据权利要求1所述的基于分组排序的仿真计算加速方法,其特征在于,步骤S2具体包括:
S21、在未归入计算组的控制计算块中,判断是否存在没有输入的控制计算块,若是,则找到1个没有输入的控制计算块,跳转至步骤S22,若否,则判断未归入计算组的控制计算块数量是否大于0,若未归入计算组的控制计算块数量大于0,则在未归入计算组的控制计算块中选取输入数量最少的一个控制计算块,跳转至步骤S22,若未归入计算组的控制计算块数量为0,则跳转至步骤S24;
S22、判断当前选择的控制计算块的输出数量是否为1,若是,则跳转至步骤S23,否则,将当前选择的控制计算块加入当前计算组,返回步骤S21;
S23、将当前选择的控制计算块加入当前计算组,并以当前选择的控制计算块所输出的控制计算块为当前选择的控制计算块,返回步骤S22;
S24、分组结束,得到若干个计算组。
3.根据权利要求2所述的基于分组排序的仿真计算加速方法,其特征在于,步骤S3具体包括:
S31、将所有计算组的编号i设置为0,将每个计算组的输入数量配置为每个计算组的当前输入数量,跳转至步骤S32;
S32、在当前编号为0的计算组中选取1个当前输入数量最小的计算组,将选取的计算组的编号i配置为1,令编号i为1的计算组的当前输入数量为0,获取编号i为1的计算组的所有输出对应的计算组,将输出对应的计算组的当前输入数量减1,跳转至步骤S33;
S33、将编号i为1的计算组放入当前并行计算单元,跳转至步骤S34;
S34、在编号i为1的计算组的所有输出对应的计算组中判断是否存在当前输入数量为1的计算组,若是,则将i自增1,将找到的当前输入数量为1的计算组命名为计算组i,并令计算组i所有输出对应的计算组的当前输入数量减1,跳转至步骤S35,若否,则判断所有计算组是否已经全部放入并行计算单元,若未全部放入,则在当前所有编号为0的计算组中找到一个当前输入数量最小的计算组命名为计算组i,跳转至步骤S36,若所有计算组已经全部放入并行计算单元,则跳转至步骤S37;
S35、将计算组i放入与计算组i-1所在的并行计算单元,返回步骤S34;
S36、将计算组i放入所有并行计算单元中计算组时间总和最小的并行计算单元,返回步骤S34;
S37、结束。
4.根据权利要求3所述的基于分组排序的仿真计算加速方法,其特征在于,步骤S32和步骤S34中,若当前输入数量减1后小于0,则令减1后的当前输入数量等于0。
5.一种基于分组排序的仿真计算加速装置,其特征在于,包括以下模块:
获取模块,用于获取仿真所分配的并行计算单元和控制计算块;
分组模块,用于根据每个控制计算块的输入数量和输出数量,对所有控制计算块进行分组,得到若干个计算组;
均衡分配模块,用于根据每个计算组的输入数量大小,将每个计算组作为一个独立单元进行排序,按计算时间均衡原则一次将各计算组放入对应的并行计算单元中。
6.根据权利要求5所述的基于分组排序的仿真计算加速装置,其特征在于,分组模块具体用于执行以下步骤:
S21、在未归入计算组的控制计算块中,判断是否存在没有输入的控制计算块,若是,则找到1个没有输入的控制计算块,跳转至步骤S22,若否,则判断未归入计算组的控制计算块数量是否大于0,若未归入计算组的控制计算块数量大于0,则在未归入计算组的控制计算块中选取输入数量最少的一个控制计算块,跳转至步骤S22,若未归入计算组的控制计算块数量为0,则跳转至步骤S24;
S22、判断当前选择的控制计算块的输出数量是否为1,若是,则跳转至步骤S23,否则,将当前选择的控制计算块加入当前计算组,返回步骤S21;
S23、将当前选择的控制计算块加入当前计算组,并以当前选择的控制计算块所输出的控制计算块为当前选择的控制计算块,返回步骤S22;
S24、分组结束,得到若干个计算组。
7.根据权利要求6所述的基于分组排序的仿真计算加速装置,其特征在于,均衡分配模块具体用于执行以下步骤:
S31、将所有计算组的编号i设置为0,将每个计算组的输入数量配置为每个计算组的当前输入数量,跳转至步骤S32;
S32、在当前编号为0的计算组中选取1个当前输入数量最小的计算组,将选取的计算组的编号i配置为1,令编号i为1的计算组的当前输入数量为0,获取编号i为1的计算组的所有输出对应的计算组,将输出对应的计算组的当前输入数量减1,跳转至步骤S33;
S33、将编号i为1的计算组放入当前并行计算单元,跳转至步骤S34;
S34、在编号i为1的计算组的所有输出对应的计算组中判断是否存在当前输入数量为1的计算组,若是,则将i自增1,将找到的当前输入数量为1的计算组命名为计算组i,并令计算组i所有输出对应的计算组的当前输入数量减1,跳转至步骤S35,若否,则判断所有计算组是否已经全部放入并行计算单元,若未全部放入,则在当前所有编号为0的计算组中找到一个当前输入数量最小的计算组命名为计算组i,跳转至步骤S36,若所有计算组已经全部放入并行计算单元,则跳转至步骤S37;
S35、将计算组i放入与计算组i-1所在的并行计算单元,返回步骤S34;
S36、将计算组i放入所有并行计算单元中计算组时间总和最小的并行计算单元,返回步骤S34;
S37、结束。
8.根据权利要求7所述的基于分组排序的仿真计算加速方法,其特征在于,步骤S32和步骤S34中,若当前输入数量减1后小于0,则令减1后的当前输入数量等于0。
9.一种基于分组排序的仿真计算加速设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-4中任一项所述的基于分组排序的仿真计算加速方法。
10.一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-4中任一项所述的基于分组排序的仿真计算加速方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311720266.9A CN117707769A (zh) | 2023-12-14 | 2023-12-14 | 一种基于分组排序的仿真计算加速方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311720266.9A CN117707769A (zh) | 2023-12-14 | 2023-12-14 | 一种基于分组排序的仿真计算加速方法和相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117707769A true CN117707769A (zh) | 2024-03-15 |
Family
ID=90158374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311720266.9A Pending CN117707769A (zh) | 2023-12-14 | 2023-12-14 | 一种基于分组排序的仿真计算加速方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117707769A (zh) |
-
2023
- 2023-12-14 CN CN202311720266.9A patent/CN117707769A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112433819A (zh) | 异构集群调度的模拟方法、装置、计算机设备及存储介质 | |
CN114281521B (zh) | 优化深度学习异构资源通信效率方法、系统、设备及介质 | |
CN111371616B (zh) | 一种面向numa架构服务器的虚拟网络功能链部署方法和系统 | |
CN110516789A (zh) | 卷积网络加速器中指令集的处理方法、装置及相关设备 | |
CN117271101B (zh) | 一种算子融合方法、装置、电子设备及存储介质 | |
CN116126346B (zh) | Ai模型的代码编译方法、装置、计算机设备及存储介质 | |
CN114647515A (zh) | 一种面向gpu集群的动态资源调度方法 | |
CN112686379A (zh) | 集成电路装置、电子设备、板卡和计算方法 | |
CN114356578A (zh) | 自然语言处理模型的并行计算方法、装置、设备及介质 | |
CN113342526B (zh) | 云计算移动网络资源动态管控方法、系统、终端及介质 | |
CN114386349A (zh) | 系统级数字电路的布线方法及装置、设备、存储介质 | |
CN111985634B (zh) | 神经网络的运算方法、装置、计算机设备及存储介质 | |
CN111767121A (zh) | 运算方法、装置及相关产品 | |
CN113094899A (zh) | 一种随机潮流计算方法、装置、电子设备及存储介质 | |
CN105335135A (zh) | 数据处理方法和中心节点 | |
CN112463340A (zh) | 基于tensorflow的多任务弹性调度方法及系统 | |
CN117707769A (zh) | 一种基于分组排序的仿真计算加速方法和相关装置 | |
Zhou et al. | DRL-Based Workload Allocation for Distributed Coded Machine Learning | |
CN106874215B (zh) | 一种基于Spark算子的序列化存储优化方法 | |
El Gaily et al. | Derivation of Parameters of Quantum optimization in Resource Distribution Management | |
Liu et al. | A hybrid parallel genetic algorithm with dynamic migration strategy based on sunway many-core processor | |
CN108595455B (zh) | 一种空间数据坐标转换方法及装置 | |
CN109308327A (zh) | 基于子图模型兼容点中心模型的图计算方法装置介质设备 | |
CN117707770A (zh) | 一种电力系统电磁暂态仿真并行计算加速方法和相关装置 | |
CN110059814A (zh) | 一种基于fpga的查找表式卷积运算硬件结构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |