parfor在计算机上执行普通for循环?

问题描述 投票:0回答:1

我有两台计算机和一个有效的MATLAB代码。

1)在一台计算机上,包含parfor的行执行并行计算,如预期的那样。

2)在另一台计算机上,parfor执行就好像它是一个普通的for循环,没有任何并行化。即使是并行地询问两件事情,也会发生这种情况。

在两台计算机上都没有代码错误。

到底是怎么回事?

matlab parfor
1个回答
1
投票

documentation to parfor说:

默认情况下,MATLAB使用并行池中的可用工作线程。 [...]您可以使用parpool覆盖并行池中的默认工作数。当池中没有工作者或M为零时,MATLAB仍然以非确定性顺序执行循环体,但不是并行执行。在测试代​​码时,使用此语法在并行和串行执行之间切换。

因此,如果一台计算机没有可用的工作程序,则循环执行顺序。

© www.soinside.com 2019 - 2024. All rights reserved.