codistributed
複製されたローカル データから対話型分散配列を作成する
構文
C = codistributed(X)
C = codistributed(X,codist)
C = codistributed(X,lab,codist)
C = codistributed(C1,codist)
説明
C = codistributed(X)
は既定の対話型分散を使用して複製された配列 X
を分散し、その結果、codistributed
配列 C
が作成されます。X
は複製された配列でなければなりません。つまり、すべてのワーカーで同じ値をもたなければなりません。size(C)
は size(X)
と同じです。
C = codistributed(X,codist)
は対話型分散 codist
によって定義された分散スキームを使用して、複製された配列 X
を分散します。X
は複製された配列でなければなりません。つまり、すべてのワーカーで同じ値をもたなければなりません。size(C)
は size(X)
と同じです。対話型分散オブジェクトの作成についての詳細は、codistributor1d
および codistributor2dbc
のリファレンス ページを参照してください。
C = codistributed(X,lab,codist)
は対話型分散 codist
を使用して、lab
で特定されたワーカーにあるローカル配列 X
を分散します。ローカル配列 X
はすべてのワーカーで定義しなければなりませんが、C
の作成に使用されるのは lab
の値だけです。size(C)
は size(X)
と同じです。
C = codistributed(C1,codist)
は、既に対話型分散されている配列 C1
を受け入れ、対話型分散 codist
で定義された分散スキームに従って C
に再分散します。これは C = redistribute(C1,codist)
を呼び出す場合と同じです。C1
の既存の分散スキームが codist
で指定された分散スキームと同じである場合、結果 C
は入力 C1
と同じです。
例
既定の分散スキームを使用して 1000 行 1000 列の対話型分散配列 C1
を作成します。
parpool('Processes',4) spmd N = 1000; X = magic(N); % Replicated on every worker C1 = codistributed(X); % Partitioned among the workers end
行単位で (最初の次元で) 分散した 1000 行 1000 列の対話型分散配列 C2
を作成します。
spmd N = 1000; X = magic(N); C2 = codistributed(X,codistributor1d(1)); end
ヒント
gather
は基本的に codistributed
の逆演算を実行します。
参考
codistributor1d
| codistributor2dbc
| distributed
| gather
| globalIndices
| getLocalPart
| redistribute
| subsasgn
| subsref
| データ ストアとは