主要内容

收集

分散配列または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を生成します。これにはワカ实验室のすべての要素が含まれます。入力引数の数と出力引数の数は一致しなければなりません。

すべて折りたたむ

Gpu演算の結果をmatlab®ワ,クスペ,スに収集します。

G = gpuArray(rand(1024,1));F =根号下(G);输入输出均为gpuArrayW = gather(G);返回数组到工作空间
名称大小字节类属性F 1024x1 8192 gpuArray G 1024x1 8192 gpuArray W 1024x1 8192 double

すべての要素を分散配列Dからクラ@ @アントに収集します。

N = 10;parpool (“本地”4);D =分布式(magic(n));将数组分配给工作人员M =收集(D)返回数组到客户端

魔方陣をワカに分散し,行列全体を各ワカに収集してから,続いてクラアントに収集します。このコドはすべてのワカとクラアントでM =魔术(n)を実行した場合と同じ結果になります。

N = 10;parpool (“本地”4);spmdC =共分布(magic(n));M =收集(C)收集所有元素到所有工人结束S = gather(C)收集元素到客户端

分散配列間では実行できない演算用に,Cの全要素をワカ1に収集します。

N = 10;spmdC =共分布(magic(n));out = collect (C,1);如果Labindex == 1%此魔方的特征和:characteristicSum = sum(1:n²)/n;确保对角线和等于%特征和:areDiagonalsEqual = isequal...(跟踪(出),跟踪(flipud ()), characteristicSum)结束结束
Worker 1: areDiagonalsEqual = logical 1

入力引数

すべて折りたたむ

収集する配列。gpuArray,分散配列,または対話型分散配列として指定します。

ヒント

收集は,実行される全ワーカーのワークスペースに対話型分散配列をまとめるか,またはMATLABクライアントに分散配列を集めますが,両方は行わないことに注意してください。spmdステ,トメント内で收集を使用する場合,収集された配列にクラaaplアント上でアクセスするには,それに対応する复合オブジェクトを使用します。复合を使用するワ,カ,変数へのアクセスを参照してください。收集を通信ジョブ内で実行する場合,収集された配列はタスクからの出力引数としてクライアントに返すことができます。

関数收集にはすべてのワ,カ,間での通信が必要であるため,如果labindex == 1などの条件付きステートメントの内部にこの関数を置いて,すべてのワーカーからのデータを単一のワーカーに収集することはできません。

バ,ジョン履歴

R2006bで導入