codistributed
並列プールのワーカーに分散された配列要素にアクセスする
説明
並列プール内のワーカー間で分割されている配列は、codistributed
配列オブジェクトとしてワーカーからアクセスできます。spmd
ステートメント内または通信ジョブのタスク関数内から作成されたワーカー上の対話型分散配列オブジェクトには、クライアント上の分散配列としてアクセスします。
作成
関数 codistributed
または関数 codistributed.build
を使用して codistributed
オブジェクトを作成します。
構文
説明
は既定の対話型分散を使用して、C
= codistributed(X
,workerIndex
)workerIndex
で特定されたワーカーにあるローカル配列 X
を分散します。ローカル配列 X
はすべてのワーカーで定義しなければなりませんが、この関数は WorkerIndex
のみを使用して C
を作成します。size(C)
は X
のサイズと同じです。
は対話型分散 C
= codistributed(X
,codist
)codist
によって定義された分散スキームを使用して、複製された配列 X
を分散します。X
は複製された配列でなければなりません。つまり、すべてのワーカーで同じ値をもたなければなりません。C
のサイズは X
のサイズと同じです。対話型分散オブジェクトの作成の詳細については、codistributor1d
および codistributor2dbc
を参照してください。
は対話型分散 C
= codistributed(X
,workerIndex
,codist
)codist
を使用して、workerIndex
で特定されたワーカーにあるローカル配列 X
を分散します。ローカル配列 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 で導入