相关疑难解决方法(0)

Matlab并行计算工具箱,在parfor循环中动态分配工作

我在matlab中使用长时间运行的parfor循环.

parfor iter=1:1000
   chunk_of_work(iter);
end
Run Code Online (Sandbox Code Playgroud)

每次运行通常有大约2-3个定时异常值.也就是说,每执行1000次大量的工作,其中2-3次比其余工作长约100倍.随着循环接近完成,评估异常值的工人继续运行,而其余工人没有计算负荷.

这与静态分配工作的parfor循环一致.这与此处的并行计算工具箱的文档形成对比:

"工作分配是动态的,而不是被分配一个固定的迭代范围内,工人被分配一个新的迭代后,才处理完自己的当前迭代,这导致即使工作负荷分配."

关于发生了什么的任何想法?

parallel-processing matlab load-balancing

5
推荐指数
1
解决办法
1806
查看次数