从分布式数据创建协同分布式数组
D = codistributed.build (L, codist)
D = codistributed.build (L, codist noCommunication)
D = codistributed.build (L, codist)
组成一个协分布数组getLocalPart (D) = L
.codistributed数组D
创建时就好像已经组合了本地数组的所有副本l
.分配方案由codist
.全局错误检查确保本地部件符合指定的分配方案。有关构造协分发器对象的信息,请参阅参考页codistributor1d
和codistributor2dbc
.
D = codistributed.build (L, codist noCommunication)
构建一个协作分布式数组,而不执行任何工人间通信以进行错误检查。
codist
必须完整,您可以打电话查一下吗codist.isComplete ()
.对局部零件尺寸和结构的要求l
取决于班级codist
.对于1-D和2-D块循环协分销商,l
所有工人必须具有相同的阶级和稀疏性。而且,局部部分L必须表示为globalIndices
方法codist
.
创建一个大小为1001-by-1001的协分布数组2
包含值2
.
spmdN = 1001;globalSize = (N, N);将矩阵分布在第2维(列)上,,并让协分布器从%全球大小。codistr = codistributor1d (2...codistributor1d.unsetPartition globalSize)%在4个worker上,codistr。分区=[251250250250]。%为本地部分分配存储空间。localSize = [N, codist . partition (labindex)];L = 0 (localSize);%使用globalIndices来映射列的索引%的本地部分进入全局列索引。globalInd = codistr.globalIndices (2);%在4个工人上,globalInd有以下值:worker 1上的% 1:251% 252:501 on worker 2% 502:751 on worker 3% 752:1001对工人4将本地部分的列初始化为%正确的值。为localCol = 1:length(globalInd)L (:, localCol) = globalCol;结束D = codistributed.build (L, codistr)结束