codistributed
访问并行池中分布在工作单元之间的数组元素
说明
并行池中在工作单元之间分区的数组可以作为 codistributed
数组对象从工作单元进行访问。在 spmd
语句内或从通信作业的任务函数内创建的工作程序上的共存分布式数组工作单元可作为客户端上的分布式数组进行访问。
创建对象
使用 codistributed
函数或 codistributed.build
函数创建 codistributed
对象。
语法
描述
使用默认的协同分布器分发驻留在由 C
= codistributed(X
,workerIndex
)X
标识的工作单元上的本地数组 workerIndex
。本地数组 X
必须在所有工作单元上定义,但该函数仅使用 WorkerIndex
来构造 C
。size(C)
与 X
的大小相同。
使用 codistributor C
= codistributed(X
,codist
)X
定义的分布方案来分布一个复制数组 codist
。X
必须是复制数组,也就是说,它必须在所有工作单元上具有相同的值。C
的大小与 X
的大小相同。有关构造协同分布器对象的信息,请参阅 codistributor1d
和 codistributor2dbc
。
使用协同分布器 C
= codistributed(X
,workerIndex
,codist
)X
分发驻留在 workerIndex
标识的工作单元上的本地数组 codist
。本地数组 X
必须在所有工作单元上定义,但该函数仅使用 WorkerIndex
来构造 C
。size(C)
与 X
的大小相同。
输入参量
输出参量
对象函数
gather | 将分布式数组、Composite 对象或 gpuArray 对象传输到本地工作区 |
getCodistributor | 现有共存分布式数组的共存分布器对象 |
getLocalPart | 共存分布式数组的本地部分 |
globalIndices | 共存分布式数组本地部分的全局索引 |
Inf | 创建所有 Inf 值的共存分布式数组 |
iscodistributed | 对于共存分布式数组而言为 True |
redistribute | 使用另一种分布方案重新分配共存分布式数组 |
用于共存分布式数组的对象函数太多,无法在此列出。大多数与内置的 MATLAB® 函数相似且行为相同。有关对象函数的完整列表,请参阅 使用分布式数组运行 MATLAB 函数。
在对象函数中,有几个用于检查数组本身的特性。大多数行为类似于同名的 MATLAB 函数。
iscodistributed | 对于共存分布式数组而言为 True |
isreal | 确定数组是否使用复数存储 |
isUnderlyingType | 确定输入是否有指定的基础数据类型 |
length | 最大数组维度的长度 |
ndims | 数组维度数目 |
size | 数组大小 |
underlyingType | 确定数组行为的基础数据的类型 |
示例
提示
gather
函数执行 codistributed
的逆操作。使用 gather
函数将共存分布式数组检索到客户端工作空间中。
替代功能
您还可以使用任何这些 MATLAB 函数从 spmd
代码或通信作业任务明确创建一个共存分布式数组。
版本历史记录
在 R2008b 中推出