运行 Dymola 在集群上并行
Running Dymola parallel on the cluster
我正在尝试 运行 集群上的 Dymola,以便我研究小组中的每个人都可以提交模型并模拟作业,是否可以 运行 集群上的 Dymola 并利用其强大功能高性能计算?
我可以使用一些标志使 Dymola 运行 在多核计算机上并行,但如何在多台计算机上 运行 并行模拟?
单台计算机上的并行化:
可以并行化 Modelica 模型,但模型需要
- 天生适合(这种情况不会经常发生,至少以我的经验而言),对于一些效果很好的例子,请参见例如here
- 由建模者手动修改以允许并行化,例如通过引入延迟块,参见 here or some similar approach here.
Dymola 经常会在翻译日志中输出 No Parallelization
,大概是由于模型不允许并行化(高效)。手册还指出:应该注意的是,对于许多类型的模型,内部依赖不允许有效的并行化来获得任何实质性的加速。
我不是这方面的专家,但据我了解,HPC 取决于大规模并行化。因此,Dymola 生成的模型似乎不是 运行 HPC 集群上的一个很好的应用程序。
多台计算机上的 Dymola:
运行 据我所知,在多台计算机上并行进行单个 Dymola 模拟是不可能的。
我认为这个问题有几个答案。
- Translation下的flags都是指a内的并行化代码
单个模拟可执行文件。如果你提到 HPC 我不认为你
需要考虑这个。
- 到运行在单个上进行多次模拟
多核计算机在 Dymola 中有内置支持。相关的
函数是
simulateModelMulti
,等等。扫描参数功能会自动使用它。
- 没有内置支持
将模拟分布在集群中的多台计算机上。
但是,如果您使用二进制模型生成 dymosim.exe
导出选项已启用,在其他计算机上可以是 运行。你需要
分发您阅读的
dymosim.exe
、dsin.txt
和数据文件
集群。我确定您的 HPC 集群有相应的工具。
我正在尝试 运行 集群上的 Dymola,以便我研究小组中的每个人都可以提交模型并模拟作业,是否可以 运行 集群上的 Dymola 并利用其强大功能高性能计算?
我可以使用一些标志使 Dymola 运行 在多核计算机上并行,但如何在多台计算机上 运行 并行模拟?
单台计算机上的并行化:
可以并行化 Modelica 模型,但模型需要
- 天生适合(这种情况不会经常发生,至少以我的经验而言),对于一些效果很好的例子,请参见例如here
- 由建模者手动修改以允许并行化,例如通过引入延迟块,参见 here or some similar approach here.
Dymola 经常会在翻译日志中输出 No Parallelization
,大概是由于模型不允许并行化(高效)。手册还指出:应该注意的是,对于许多类型的模型,内部依赖不允许有效的并行化来获得任何实质性的加速。
我不是这方面的专家,但据我了解,HPC 取决于大规模并行化。因此,Dymola 生成的模型似乎不是 运行 HPC 集群上的一个很好的应用程序。
多台计算机上的 Dymola:
运行 据我所知,在多台计算机上并行进行单个 Dymola 模拟是不可能的。
我认为这个问题有几个答案。
- Translation下的flags都是指a内的并行化代码 单个模拟可执行文件。如果你提到 HPC 我不认为你 需要考虑这个。
- 到运行在单个上进行多次模拟
多核计算机在 Dymola 中有内置支持。相关的
函数是
simulateModelMulti
,等等。扫描参数功能会自动使用它。 - 没有内置支持
将模拟分布在集群中的多台计算机上。
但是,如果您使用二进制模型生成 dymosim.exe
导出选项已启用,在其他计算机上可以是 运行。你需要
分发您阅读的
dymosim.exe
、dsin.txt
和数据文件 集群。我确定您的 HPC 集群有相应的工具。