ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

codistributed

複製されたローカル データから対話型分散配列を作成する

構文

C = codistributed(X)
C = codistributed(X,codist)
C = codistributed(X,lab,codist)
C = codistributed(C1,codist)

説明

C = codistributed(X) は既定の対話型分散を使用して複製された配列 X を分散し、その結果、対話型分散配列 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 を作成します。

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 の逆演算を実行します。