综合

创建复合对象

句法

C =复合()
C =复合物(nlabs)

描述

C =复合()创建使用工人从并行池客户端上的复合物。该复合对象引用工人的实际数量取决于池的大小和任何现有的复合对象。一般来说,你应该建立以外的任何复合对象SPMD声明。

C =复合物(nlabs)创建对指定的约束相匹配的平行池设置了复合对象。nlabs必须是长度为1或2的载体,含有整体或天道酬勤。如果nlabs是长度为1的时,它指定工人使用的确切数目。如果nlabs是大小为2时,它指定的最小和工人使用的最大数量。用工人的实际数目与平行池的规模相适应,并与其他现有的复合对象工人的最大数量。如果对工人的数量限制不能被满足,则会引发错误。

复合对象具有用于每个实验室一个条目;最初每个条目不包含任何数据。请使用索引或SPMD块定义的条目的值。

例子

下面的例子都使用四名工人,用语句打开的本地并行池:

P = parpool('本地',4);

此示例示出了如何创建复合对象没有定义的元素,然后使用分配的值对于-loop在客户端。

C =复合();在游泳池人均%的一个要素对于W = 1:长度(C)C {瓦特} = 0;%值存储在每个工人结束

这个例子展示了如何分配在复合元件SPMD块。

C =复合();SPMDC = 0;%值存储在每个工人结束

该示例示出如何分配复合的元素与来自每个工人的值。

C =复合();SPMDC = labindex;结束C{:}
1 2 3 4

此示例示出了如何使用分布式阵列向量来设置复合的值。

d =分布([3 1 4 2]);%每个工人一个整数SPMDC = getLocalPart(d);每个工人%独特价值结束C{:}
3 1 4 2

提示

  • 复合材料是在现有的并行池的工人创造。如果没有池存在,综合启动一个新的平行池,除非池的自动启动在您的并行喜好被禁用。如果没有平行的泳池和综合不能启动一个,结果是一个1×1的复合在客户机的工作区。