GOP

在所有工人全球运营

句法

RES = GOP(FUN,x)的
RES = GOP(FUN,X,targetlab)

参数

FUN

功能跨越工人操作。

X

参数功能F,应该是所有的工人同一个变量,但可以有不同的值。

水库

变量保存减少的结果。

targetlab

实验室到返回减少的结果。这个值是由工人返回labindex

描述

RES = GOP(FUN,x)的是通过函数的减少FUN数量的X从每个工人。结果被复制在所有工人。

FUN可以是一个手柄的任何功能,包括用户编写的函数和用户定义的匿名函数。它应该接受相同类型的两个参数,并返回一个同类型的结果,所以它可以反复的形式使用:

FUN(FUN(X1,X2),FUN(X3,X4))

功能FUN应该是关联的,也就是说,

FUN(FUN(X1,X2),X3)= FUN(X1,FUN(X2,X3))

RES = GOP(FUN,X,targetlab)执行还原,并将结果存放到水库仅在工人的指示targetlab水库设定为[]在所有其他工人。

例子

这个例子说明了如何计算总和和最大值X所有的工人。

P = parpool('本地',4);X =复合();X {1} = 3;X {2} = 1;X {3} = 4;X {4} = 2;SPMDXSUM = GOP(@加,X);XMAX = GOP(@最大值,X);结束XSUM {1}
10
XMAX {1}
4

此示例示出了如何在水平方向并置的列向量X从所有工人到矩阵。它使用前面的例子打开了相同的4个工人并行池。

X {1} = [3; 30];X {2} = [1; 10];X {3} = [4; 40];X {4} = [2; 20];SPMDRES = GOP(@ horzcat,X);结束RES {1}
3 1 4 2 30 10 40 20

这个例子说明了如何使用匿名函数GOP加入特征向量与它们之间的间隔。在这种情况下,从每个工人创造的特征向量labindex值。

afun = @(A,B)并[a,“”,b]的SPMDRES = GOP(afun,num2str(labindex));结束RES {1}
1 2 3 4

R2006a前推出