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 で導入