このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
gather
分散配列、Composite 配列、または gpuArray をローカル ワークスペースに転送
構文
説明
X = gather(
は、次の配列データを処理できます。A
)
gpuArray
で、A
の要素を GPU からローカル ワークスペースに転送し、X
に割り当てます。分散配列に対して
spmd
ステートメントの外側で、複数のワーカーからA
の要素をローカル ワークスペースに収集し、X
に割り当てます。対話型分散配列に対して
spmd
ステートメントまたは通信ジョブの内側で、A
の要素を収集して、すべてのワーカーのX
に複製します。
gather
は、tall 配列 (gather (tall)
を参照) など他のデータ型についても呼び出せます。データ型が収集をサポートしていない場合、gather
を実行しても効果はありません。
GPU 配列または分散配列の収集は高コストの可能性があり、こうしたタイプの配列をサポートしていない関数で結果を使用する必要がある場合を除いて、一般に収集は不要です。関数のサポートの詳細については、GPU での MATLAB 関数の実行または分散配列を使用した MATLAB 関数の実行を参照してください。
X = gather(gpuArray(X))
、X = gather(distributed(X))
、または X = gather(codistributed(X))
は元の配列 X
を返します。
[X1,X2,...,Xn] = gather(A1,A2,...,An)
は複数の配列 A1,A2,...,An
を収集し、対応する出力 X1,X2,...,Xn
を生成します。入力引数の数と出力引数の数は一致しなければなりません。
X = gather(
は対話型分散配列 Cd
,destination)Cd
をバリアント配列 X
に変換し、destination
で指定されたワーカーは全要素を含み、その他すべてのワーカーは X
が 0 行 0 列の空の double 配列となるようにします。
[X1,X2,...,Xn] = gather(Cd1,Cd2,...,Cdn,destination)
は対話型分散配列 Cd1,Cd2,...,Cdn
を収集して、対応する出力 X1,X2,...,Xn
を生成します。これには destination
で指定されたワーカーのすべての要素が含まれます。入力引数の数と出力引数の数は一致しなければなりません。
例
入力引数
ヒント
gather
は、実行される全ワーカーのワークスペースに対話型分散配列をまとめるか、または MATLAB クライアントに分散配列を集めますが、両方は行わないことに注意してください。spmd
ステートメント内で gather
を使用する場合、収集された配列にクライアント上でアクセスするには、それに対応する Composite
オブジェクトを使用します。Composite を使用するワーカー変数へのアクセスを参照してください。gather
を通信ジョブ内で実行する場合、収集された配列はタスクからの出力引数としてクライアントに返すことができます。
関数 gather
にはすべてのワーカー間での通信が必要であるため、if spmdIndex == 1
などの条件付きステートメントの内部にこの関数を置いて、すべてのワーカーからのデータを単一のワーカーに収集することはできません。
バージョン履歴
R2006b で導入参考
arrayfun
| codistributed
| distributed
| gpuArray
| Composite
| pagefun