System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及电力系统仿真,尤其涉及一种电力系统电磁暂态仿真并行计算加速方法和相关装置。
技术介绍
1、电力系统仿真计算依靠计算硬件系统的强大算力以期望加速求解过程,实现非实时仿真计算甚至实时仿真计算。由于计算硬件系统有充足的计算资源和存储资源,较以往多采用的单一计算机计算有着明显的优势。但随着区域电网的互联,电力系统规模不断扩大,加之大规模新能源等快速响应电力电子设备的广泛使用,使得电力系统仿真计算的规模和运算复杂程度日益复杂,计算过程中各运算子单元间的数据交互愈发频繁,如何合理高效利用计算硬件系统进行资源加速计算,是亟待研究的问题。
2、现有的电力系统电磁暂态仿真计算过程并没有充分考虑多并行计算单元的资源分配和顺序安排对最终计算时间的影响,难以实现对计算硬件系统的合理利用,难以提高计算效率。
技术实现思路
1、本专利技术提供了一种电力系统电磁暂态仿真并行计算加速方法和相关装置,用于解决现有的电力系统电磁暂态仿真计算过程没有充分考虑多并行计算单元的资源分配和顺序安排对最终计算时间的影响,难以实现对计算硬件系统的合理利用,难以提高计算效率的技术问题。
2、有鉴于此,本专利技术第一方面提供了一种电力系统电磁暂态仿真并行计算加速方法,包括以下步骤:
3、s1、获取电磁暂态仿真所分配的所有并行计算单元;
4、s2、评估电磁暂态仿真电路每个电气量的计算时间和平均到每个并行计算单元的时间,其中,每个电气量的计算配置一个电气量计算块;
6、s4、计算当前并行计算单元的累计时间;
7、s5、将当前并行计算单元的累计时间与平均到每个并行计算单元的时间对比,若当前并行计算单元的累计时间小于平均到每个并行计算单元的时间,则判断当前是否还有未放入并行计算单元里的电气量计算块,若是,则将未放入并行计算单元里计算时间绝对值小于且最接近平均到每个并行计算单元的时间的电气量计算块放入当前并行计算单元,返回步骤s4,否则,跳转至步骤s7,若当前并行计算单元的累计时间不小于平均到每个并行计算单元的时间,则跳转至步骤s6;
8、s6、若当前并行计算单元的累计时间等于平均到每个并行计算单元的时间,则判断当前是否还有未放入并行计算单元里的电气量计算块,若是,将下一个未放入并行计算单元里计算时间最大的电气量计算块放入下一个并行计算单元中,返回步骤s4,若当前并行计算单元的累计时间大于平均到每个并行计算单元的时间,则取出放入当前并行计算单元的电气量计算块,将取出的电气量计算块重新放入下一个并行计算单元中,返回步骤s4;
9、s7、获取累计时间最大的并行计算单元和累计时间最小的并行计算单元,计算累计时间最大的并行计算单元和累计时间最小的并行计算单元的累计时间均值,若累计时间均值与平均到每个并行计算单元的时间的比值小于阈值,则优化结束,否则,跳转至步骤s8;
10、s8、在所有电气量计算块中找到电气量计算时间小于累计时间均值的电气量计算块并进行降序排序,得到排序序列;
11、s9、将排序序列的第1个电气量计算块配置为当前电气量计算块;
12、s10、判断当前电气量计算块是否在累计时间最大的并行计算单元里,若是,则将当前电气量计算块移动到累计时间最小的并行计算单元中,返回步骤s7,否则,跳转至步骤s11;
13、s11、将排序序列的下一个电气量计算块配置为当前电气量计算块,返回步骤s10。
14、可选地,步骤s7中,阈值5%。
15、可选地,步骤s2具体包括:
16、评估电磁暂态仿真电路每个电气量的计算时间;
17、根据每个电气量的计算时间计算所有电气量的总计算时间;
18、根据所有电气量的总计算时间计算平均到每个并行计算单元的时间。
19、可选地,步骤s4中,当前并行计算单元的累计时间的计算公式为:
20、
21、其中,tl为前并行计算单元的累计时间,i为前并行计算单元内第i个电气量计算块,w为前并行计算单元内的总电气量计算块数量,tpi为第i个电气量计算块的计算时间。
22、本专利技术第二方面提供了一种电力系统电磁暂态仿真并行计算加速装置,包括以下模块:
23、第一获取模块,用于获取电磁暂态仿真所分配的所有并行计算单元;
24、时间计算模块,用于评估电磁暂态仿真电路每个电气量的计算时间和平均到每个并行计算单元的时间,其中,每个电气量的计算配置一个电气量计算块;
25、放入模块,用于从第1个并行计算单元开始,将未放入并行计算单元里计算时间最大的电气量计算块放入当前并行计算单元;
26、累计时间计算模块,用于计算当前并行计算单元的累计时间;
27、对比模块,用于将当前并行计算单元的累计时间与平均到每个并行计算单元的时间对比,若当前并行计算单元的累计时间小于平均到每个并行计算单元的时间,则判断当前是否还有未放入并行计算单元里的电气量计算块,若是,则将未放入并行计算单元里计算时间绝对值小于且最接近平均到每个并行计算单元的时间的电气量计算块放入当前并行计算单元,返回执行累计时间计算模块,否则,跳转执行第二获取模块,若当前并行计算单元的累计时间不小于平均到每个并行计算单元的时间,则跳转至第一判断模块;
28、第一判断模块,用于若当前并行计算单元的累计时间等于平均到每个并行计算单元的时间,则判断当前是否还有未放入并行计算单元里的电气量计算块,若是,将下一个未放入并行计算单元里计算时间最大的电气量计算块放入下一个并行计算单元中,返回执行累计时间计算模块,若当前并行计算单元的累计时间大于平均到每个并行计算单元的时间,则取出放入当前并行计算单元的电气量计算块,将取出的电气量计算块重新放入下一个并行计算单元中,返回执行累计时间计算模块;
29、第二获取模块,用于获取累计时间最大的并行计算单元和累计时间最小的并行计算单元,计算累计时间最大的并行计算单元和累计时间最小的并行计算单元的累计时间均值,若累计时间均值与平均到每个并行计算单元的时间的比值小于阈值,则优化结束,否则,跳转执行排序模块;
30、排序模块,用于在所有电气量计算块中找到电气量计算时间小于累计时间均值的电气量计算块并进行降序排序,得到排序序列;
31、第一配置模块,用于将排序序列的第1个电气量计算块配置为当前电气量计算块;
32、第二判断模块,用于判断当前电气量计算块是否在累计时间最大的并行计算单元里,若是,则将当前电气量计算块移动到累计时间最小的并行计算单元中,返回执行第二获取模块,否则,跳转执行第二配置模块;
33、第二配置模块,用于将排序序列的下一个电气量计算块配置为当前电气量计算块,返回执行第二判断模块。
34、可选本文档来自技高网...
【技术保护点】
1.一种电力系统电磁暂态仿真并行计算加速方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的电力系统电磁暂态仿真并行计算加速方法,其特征在于,步骤S7中,阈值5%。
3.根据权利要求1所述的电力系统电磁暂态仿真并行计算加速方法,其特征在于,步骤S2具体包括:
4.根据权利要求1所述的电力系统电磁暂态仿真并行计算加速方法,其特征在于,步骤S4中,当前并行计算单元的累计时间的计算公式为:
5.一种电力系统电磁暂态仿真并行计算加速装置,其特征在于,包括以下模块:
6.根据权利要求5所述的电力系统电磁暂态仿真并行计算加速装置,其特征在于,第二获取模块中,阈值5%。
7.根据权利要求5所述的电力系统电磁暂态仿真并行计算加速装置,其特征在于,时间计算模块具体用于:
8.根据权利要求5所述的电力系统电磁暂态仿真并行计算加速装置,其特征在于,累计时间计算模块中,当前并行计算单元的累计时间的计算公式为:
9.一种电力系统电磁暂态仿真并行计算加速设备,其特征在于,所述设备包括处理器以及存储器:
>10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-4任一项所述的电力系统电磁暂态仿真并行计算加速方法。
...【技术特征摘要】
1.一种电力系统电磁暂态仿真并行计算加速方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的电力系统电磁暂态仿真并行计算加速方法,其特征在于,步骤s7中,阈值5%。
3.根据权利要求1所述的电力系统电磁暂态仿真并行计算加速方法,其特征在于,步骤s2具体包括:
4.根据权利要求1所述的电力系统电磁暂态仿真并行计算加速方法,其特征在于,步骤s4中,当前并行计算单元的累计时间的计算公式为:
5.一种电力系统电磁暂态仿真并行计算加速装置,其特征在于,包括以下模块:
6.根据权利要求5所述的电力系统电磁暂态仿真并行计算加速...
【专利技术属性】
技术研发人员:郭琦,卢远宏,李书勇,张杰,郭海平,郭天宇,黄立滨,涂亮,张竞月,罗辉,
申请(专利权)人:南方电网科学研究院有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。