主要内容

gplus

(不推荐)从workers中添加数组spmd

    gplus不建议使用。使用spmdPlus代替。有关更多信息,请参见版本历史

    描述

    例子

    C= gplus(公关一个添加数组一个存储在每个工人的电流spmd阻塞或通信任务。

    提示

    卸载计算时使用parfor而且parfeval,每个计算一次只由一个工作人员运行。这些工人是独立的,彼此之间不交流。如果你使用gplus那么,在这些工人身上C等于一个

    这个函数gplus在以下情况下添加数组一个每个工人都有一个兼容的尺寸。

    如果numlabs等于1C等于一个numlabs等于1spmd阻塞或通信任务。

    C= gplus(公关一个目的地计算数组的和,并只将结果存储在一个worker上。关于工人labindex等于目的地C等于这个和。在所有其他工人身上,C[]

    例子

    全部折叠

    这个例子展示了如何使用gplus类中每个工作者上持有的标量spmd块。

    创建一个有4个工人的并行池。

    parpool (4);

    当你执行spmd块创建并行池后,默认情况下池中所有可用的worker将在spmd块。

    运行labindex在每个工人身上spmd块,并将结果存储在标量中一个.使用gplus增加…的价值一个来自每个工人。

    当你使用gplus,默认情况下,结果存储在每个worker上。在客户端,C是一个复合数组中。的索引中获取结果复合数组中。

    spmdA = labindex;C = g + (A);结束disp (C {1})
    10

    输入参数

    全部折叠

    输入数组,指定为标量、向量、矩阵或多维数组。

    例子:魔法(3)

    目标工作者的索引,指定为正整数标量。的值必须小于或等于numlabs,当前运行的工人数量spmd阻塞或通信任务。指定时,的结果gplus(公关),目的地仅存储在一个worker上。关于工人labindex等于目的地C等于这个和。在所有其他工人身上,C[]

    例子:1

    算法

    当你使用gplus(公关)的值。一个每个工人身上的价值都被加到其他工人身上。

    图中显示了四个工作人员如何将指定为A的数组组合到单个数组C中。

    版本历史

    在R2006b中引入

    全部展开

    另请参阅