modelica模型计算方法、装置、设备和存储介质与流程

文档序号:27212420发布日期:2021-11-03 15:10阅读:127来源:国知局
modelica模型计算方法、装置、设备和存储介质与流程

1.本技术涉及软件工程技术领域,具体而言,涉及一种modelica模型计算方法、装置、设备和存储介质。


背景技术:

2.现代机电产品通常包括机械、电子、液压、控制等不同领域子系统。结构复杂。对于建模仿真计算的难度也越来越高。复杂的模型超越了单机能求解的程度,单机很难完成复杂的modelica模型计算任务。


技术实现要素:

3.本技术的主要目的在于提供一种modelica模型计算方法、装置、设备和存储介质,以解决上述问题。
4.为了实现上述目的,根据本技术的一个方面,提供了一种modelica模型计算方法,包括:
5.建立多个互相独立的modelica子模型;
6.根据所述多个modelica子模型建立modelica模型;
7.分别将所述多个独立的modelica子模型的相关数据输入到ring

allreduce架构中的不同的worker节点上分别进行仿真计算得到仿真结果;
8.其中,每个子模型对应一个worker节点。
9.在一种实施方式中,分别将所述多个独立的modelica子模型的相关数据输入到parameter server架构中的不同的worker节点上分别进行仿真计算之前,所述方法还包括:
10.将每一个modelica子模型进行模型平坦化处理。
11.在一种实施方式中,对于任意的一个第一子模型,在进行仿真计算时,如果需要用到第二子模型的相关数据;
12.根据预先存储的子模型和worker节点的对应关系表确定所述相关数据位于第二worker节点;
13.从所述第二worker节点获取所述相关数据。
14.在一种实施方式中,对于任意的一个第一子模型,在进行仿真计算结束后,得到仿真计算的结果,所述第一子模型所在的第一节点将所述仿真计算的结果发送给任意的一个第二worker节点。
15.第二方面,提供了modelica模型计算装置,包括:
16.建模模块,用于建立多个互相独立的modelica子模型;以及根据所述多个modelica子模型建立modelica模型;
17.处理模块,用于分别将所述多个独立的modelica子模型的相关数据输入到ring

allreduce架构中的不同的worker节点上分别进行仿真计算得到仿真结果;其中,每个子模
型对应一个worker节点。
18.在一种实施方式中,所述处理模块还用于,分别将所述多个独立的modelica子模型的相关数据输入到parameter server架构中的不同的worker节点上分别进行仿真计算之前,将每一个modelica子模型进行模型平坦化处理。
19.在一种实施方式中,还包括位于每一个worker节点中的第二处理模块;
20.所述第二处理模块,用于对于任意的一个第一子模型,在进行仿真计算时,如果需要用到第二子模型的相关数据;则根据预先存储的子模型和worker节点的对应关系表确定所述相关数据位于第二worker节点;从所述第二worker节点获取所述相关数据。
21.在一种实施方式中,还包括位于每一个worker节点中的第二处理模块;所述第二处理模块,用于对于任意的一个第一子模型,在进行仿真计算结束后,得到仿真计算的结果,将所述仿真计算的结果发送给任意的第二worker节点。
22.为了实现上述目的,根据本技术的第三方面,提供了一种电子设备;包括至少一个处理器和至少一个存储器;所述存储器用于存储一个或多个程序指令;所述处理器,用于运行一个或多个程序指令,用以执行上述任一项所述的步骤。
23.根据本技术的第四方面,提供了一种计算机可读存储介质,计算机可读存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行上述任意一项所述的步骤。
24.本技术的上述的方法,充分利用了ring

allreduce架构的特点,把大型modelica模型划分成各个相互独立的modelica子模型,在ring

allreduce架构中的每一个worker节点上单独处了一个modelica子模型。提高了计算仿真效率。
附图说明
25.构成本技术的一部分的附图用来提供对本技术的进一步理解,使得本技术的其它特征、目的和优点变得更明显。本技术的示意性实施例附图及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
26.图1是根据本技术实施例的一种基于ring

allreduce架构的modelica模型计算方法的流程图;
27.图2是根据本技术实施例的一种ring

allreduce架构的结构示意图;
28.图3是根据本技术实施例的一种基于ring

allreduce架构的modelica模型计算装置的结构示意图;
29.图4是根据本技术实施例的一种电子设备的结构示意图。
具体实施方式
30.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
31.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第
二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
32.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
33.本技术提出了一种modelica模型计算方法,参见附图1所示的一种基于ring

allreduce架构的modelica模型计算方法的流程图;该方法包括:
34.步骤s102,建立多个互相独立的modelica子模型;
35.步骤s104,根据所述多个modelica子模型建立modelica模型;
36.具体的,将大规模巨系统的modelica模型按逻辑,比如机械、电子、液压、控制或者按广义基尔霍夫定律的连接处,进行分治,比如分治为a、b、c三部分,将a、b、c分散在a、b、c三台电脑上进行计算。
37.示例性的,把空间站可以按照运动轨迹子模型、能源子模型、动力子模型等划分为多个相互独立的子模型,分别在单独的计算机上进行仿真计算。
38.步骤s106,分别将所述多个独立的modelica子模型的相关数据输入到ring

allreduce架构中的不同的worker节点上分别进行仿真计算得到仿真结果;其中,每个子模型对应一个worker节点。
39.具体的,参见附图2所示的一种ring

allreduce架构的结构示意图,在ring

allreduce架构中,各个设备都是worker,并且形成一个环,在一个迭代过程,每个worker完成自己的仿真计算,并将仿真结果传递给环中的下一个worker,同时它也接收从上一个worker的结果。对于一个包含n个worker的环,各个worker需要收到其它n

1个worker的仿真数据后就可以更新模型参数。
40.示例性的,当分布式计算时,本技术将共享的参数通过ring

allreduce架构进行处理。比如,a和b需要交换参数x,b和c需要交换参数y,c和a需要交换参数z,依据ring

allreduce方式,a、b、c都是worker,形成一个环互相间进行数据同步。
41.在一种实施方式中,分别将所述多个独立的modelica子模型的相关数据输入到parameter server架构中的不同的worker节点上分别进行仿真计算之前,将每一个modelica子模型进行模型平坦化处理。
42.在一种实施方式中,对于任意的一个第一子模型,在进行仿真计算时,如果需要用到第二子模型的相关数据;
43.根据预先存储的子模型和worker节点的对应关系表确定所述相关数据位于第二worker节点;
44.从所述第二worker节点获取所述相关数据。
45.具体的,每一个worker节点进行仿真计算时如果需要用到其他worker节点的数据,可以从其他的worker节点获取数据。在整个的parameter server架构中,数据是实时共享的。
46.示例性的,如果运动轨迹子模型需要用到能源子模型的数据,则运动轨迹子模型
所在的worker节点向能源子模型所在的worker节点获取相关数据。获取数据后,进行仿真计算。
47.在一种实施方式中,对于任意的一个第一子模型,在进行仿真计算结束后,得到仿真计算的结果,所述第一子模型所在的第一节点将所述仿真计算的结果发送给任意的一个第二worker节点。
48.具体的,任意的一个worker节点都可以把自己得到的仿真结果发送给其他任意的一个worker节点,从而达到仿真结果的共享。任意的一个worker节点也可以接收其他的worker节点发送的仿真结果。
49.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
50.第二方面,本技术提出了一种modelica模型计算装置,参见附图3所示的一种基于ring

allreduce架构的modelica模型计算装置的结构示意图;该装置包括:
51.建模模块31,用于建立多个互相独立的modelica子模型;以及根据所述多个modelica子模型建立modelica模型;
52.第一处理模块32,用于分别将所述多个独立的modelica子模型的相关数据输入到ring

allreduce架构中的不同的worker节点上分别进行仿真计算得到仿真结果;其中,每个子模型对应一个worker节点。
53.所述第一处理模块32还用于,分别将所述多个独立的modelica子模型的相关数据输入到parameter server架构中的不同的worker节点上分别进行仿真计算之前,将每一个modelica子模型进行模型平坦化处理。
54.在一种实施方式中,还包括位于每一个worker节点中的第二处理模块33;所述第二处理模块33用于对于任意的一个第一子模型,在进行仿真计算时,如果需要用到第二子模型的相关数据;则根据预先存储的子模型和worker节点的对应关系表确定所述相关数据位于第二worker节点;从所述第二worker节点获取所述相关数据。
55.在一种实施方式中,第二处理模块33还用于对于任意的一个第一子模型,在进行仿真计算结束后,得到仿真计算的结果,将所述仿真计算的结果发送给任意的第二worker节点。
56.根据本技术的第三方面,本技术还提供了一种电子设备,参见附图4所示的一种电子设备的结构示意图;包括至少一个处理器41和至少一个存储器42;所述存储器42用于存储一个或多个程序指令;所述处理器41,用于运行一个或多个程序指令,用以执行上述任意一项的方法。
57.第四方面,本技术还提出了一种计算机可读存储介质,计算机可读存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行上述任一项所述的方法。
58.可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质
中的信息,结合其硬件完成上述方法的步骤。
59.存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
60.其中,非易失性存储器可以是只读存储器(read

only memory,简称rom)、可编程只读存储器(programmable rom,简称prom)、可擦除可编程只读存储器(erasable prom,简称eprom)、电可擦除可编程只读存储器(electrically eprom,简称eeprom)或闪存。
61.易失性存储器可以是随机存取存储器(random access memory,简称ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,简称sram)、动态随机存取存储器(dynamic ram,简称dram)、同步动态随机存取存储器(synchronous dram,简称sdram)、双倍数据速率同步动态随机存取存储器(double data ratesdram,简称ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,简称esdram)、同步连接动态随机存取存储器(synchlink dram,简称sldram)和直接内存总线随机存取存储器(directrambus ram,简称drram)。
62.本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
63.本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
64.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
65.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1