spmdReduce
説明
は、関数 B = spmdReduce(fcn,A)fcn を使用して、spmd ブロックまたは通信ジョブを実行している各ワーカー上で定義されている配列 A を削減します。この関数は、削減の結果 B を各ワーカーに保存します。
たとえば、spmdReduce(@plus,A) は、各ワーカー上で定義されている配列 A の和を返します。
MATLAB® は関数 fcn を使用し、この関数を N - 1 回呼び出すことにより、AJ を削減します。
N は、
spmdブロックまたは通信ジョブを実行しているワーカーの数。現在の spmd ブロックを実行しているワーカーの数を取得するには、関数spmdSizeを使用Aj は、インデックスが j である
spmdワーカー上で定義された配列A。
spmd ブロックまたは通信ジョブが常に同じ結果を生成するようにするには、fcn を結合関数として指定します。
parfor、parfeval、または parfevalOnAll を使用して並列プールでコードを実行する場合、各ワーカーは独立しており、相互の通信は行われません。これらのワーカー上で spmdReduce を使用した場合、結果はクライアント上で spmdReduce を使用した場合と同じになります。
現在の spmd ブロックを 1 つのワーカーが実行している場合、B は A と等しくなります。
は、B = spmdReduce(fcn,A,destination)A を削減し、結果を 1 つのワーカーにのみ保存します。
例
入力引数
アルゴリズム
次の図は、spmdReduce(fcn,A) を呼び出したときに、関数 spmdReduce が fcn をどのように使用するかを示しています。

拡張機能
バージョン履歴
R2022b で導入