1

parfor在 Matlab 中使用时遇到问题:

- 在我的笔记本电脑中,使用具有12 个工作人员的本地集群配置文件,循环能够大大减少与循环相关的计算时间;parforfor

- 在同一台笔记本电脑上,但使用我部门的HPC 集群,有30 个工作人员,parfor循环比循环慢得多,for也比parfor使用本地集群有 12 个工作人员的循环慢得多。

我不明白为什么。要解决的迭代次数超过 1000 次,并且每次迭代都足够复杂,原则上可以从parfor循环中受益,正如我使用本地集群时所证明的那样。也许有些步骤我忘记了?要激活工人,我输入命令matlab pool open 30

4

1 回答 1

3

有很多事情可能会导致这种速度差异:

  1. 如果您将文件依赖项分发给远程工作人员,则可以显着增加计算简单程序的整体运行时间。
  2. 假设没有文件依赖关系,运行时间较长可能是由于将结果从远程工作人员传输回本地计算机的时间损失。
  3. 远程工作人员实际上可能更慢,或者可用内存更少,这在兼作集群节点的工作站上经常出现。

我已经看过几次了,通常是#3。

于 2014-06-16T18:12:10.970 回答