使用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)