收集
分散配列またはgpuArrayをロ,カルワ,クスペ,スに転送
説明
X =集合(
は,次の配列デ,タを処理できます。一个
)
gpuArray:
一个
の要素をgpuからロ,カルワ,クスペ,スに転送し,X
に割り当てます。spmd
ステトメントの外にある分散配列:複数のワカから一个
の要素をロ,カルワ,クスペ,スに収集し,X
に割り当てます。spmd
ステ,トメントまたは通信ジョブの中にある対話型分散配列:一个
の要素を収集して,すべてのワ,カ,のX
に複製します。
收集
は,高配列(收集(高)
を参照)など他のデタ型にいても呼び出せます。デ,タ型が収集をサポ,トしていない場合,收集
を実行しても効果はありません。
GPU配列または分散配列の収集は高コストの可能性があり,こうしたタイプの配列をサポートしていない関数で結果を使用する必要がある場合を除いて,一般に収集は不要です。関数のサポトの詳細にいては,Gpuでのmatlab関数の実行または分散配列を使用したmatlab関数の実行を参照してください。
X = gpuArray(X)
、X =聚集(分布(X))
,またはX =聚集(共分布(X))
は元の配列X
を返します。
(X1, X2,…,Xn] = gather(A1,A2,…,,Xn)
は複数の配列A1, A2,…,,
を収集し,対応する出力X1, X2,…,Xn
を生成します。入力引数の数と出力引数の数は一致しなければなりません。
X =集合(C,实验室)
は対話型分散配列C
をバリアント配列X
に変換し,ワ,カ,实验室
は全要素を含み,その他すべてのワ,カ,はX
が0行0列の空のdouble配列となるようにします。
(X1, X2,…,Xn] = gather(C1,C2,…,Cn,lab)
は対話型分散配列C1, C2,…,Cn
を収集して,対応する出力X1, X2,…,Xn
を生成します。これにはワカ实验室
のすべての要素が含まれます。入力引数の数と出力引数の数は一致しなければなりません。
例
入力引数
ヒント
收集
は,実行される全ワーカーのワークスペースに対話型分散配列をまとめるか,またはMATLABクライアントに分散配列を集めますが,両方は行わないことに注意してください。spmd
ステ,トメント内で收集
を使用する場合,収集された配列にクラaaplアント上でアクセスするには,それに対応する复合
オブジェクトを使用します。复合を使用するワ,カ,変数へのアクセスを参照してください。收集
を通信ジョブ内で実行する場合,収集された配列はタスクからの出力引数としてクライアントに返すことができます。
関数收集
にはすべてのワ,カ,間での通信が必要であるため,如果labindex == 1
などの条件付きステートメントの内部にこの関数を置いて,すべてのワーカーからのデータを単一のワーカーに収集することはできません。