我正在 Dymola 中构建一个大型系统,我计划利用 Dymola 中的并行模拟潜力,但我只在帮助文档中找到两个常规设置。
我的问题是:
-flagAdvanced.ParallelizeCode确实生成并行运行的代码(希望检查日志),而 Matlab 中的矢量化在这里没有帮助(它甚至可能会导致问题)。
你可以做的是:
annotation(__Dymola_ThreadSafe=true);是否是线程安全后,将其添加到被调用的函数中。dymola\Modelica\Libraries\DecoupleBlocks.mo);但首先要小心验证结果。该标志Advaned.ParallelSimulations似乎与这种情况无关,因为它并行运行具有不同参数值的整个模拟(更粗粒度)。如果您一次只运行一个模拟,则不会带来任何好处。
但是,如果您可以改为使用它,那么通常是一个更好的主意- 然后您应该(通常)不启用其他并行化变体。
| 归档时间: |
|
| 查看次数: |
590 次 |
| 最近记录: |