主要内容

使用parfor循环,减少作业

这两个例子展示parfor循环利用减少作业。是一个循环的迭代积累减少。左边的示例使用x积累一笔10循环迭代。右边的示例生成一个连接数组,1:10。在这两个例子中,迭代的执行顺序的工人并不重要:当工人们为每个迭代计算单个结果,客户端正确地积累和组装最终循环的结果。

x = 0;parfor我= 1:10 x = x +;结束x
x = 55
x2 = [];n = 10;parfori = 1: n x2 = (x2,我);结束x2
x2 = 1 2 3 4 5 6 7 8 9 10

如果在一个不确定的序列循环迭代操作,你可能会认为连接序列nonconsecutive右边的例子。然而,MATLAB®认识到连接操作和产生确定性的结果。

下一个示例,它试图计算斐波纳契数列,不是一个有效的parfor循环,因为一个元素的值f在一个迭代取决于其他元素的值f在其他的迭代计算。

f = 0 (50);f (1) = 1;f (2) = 2;parforn = 50分f (n) = f (n - 1) + f (n - 2);结束

当你完成了你的循环的例子,清晰的工作区和删除你的平行的工人:

明确的删除(gcp)

相关的话题