运行 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.exedsin.txt 和数据文件 集群。我确定您的 HPC 集群有相应的工具。