Main Content

parfor ループ内のリダクション代入

リダクション代入とは

リダクション代入、または "リダクション" は、ループ反復は独立していなければならないというルールに対する例外です。"リダクション変数" は、すべての反復に同時に依存するが反復順序には依存しない値を累積します。サポートされているリダクション変数の一覧については、リダクション変数を参照してください。

parfor ループ内の複数のリダクション

毎回同じデータ型を使用する場合に限り、1 つの parfor ループ内で同じリダクション代入を複数回実行できます。

たとえば、次の parfor ループでは、u(i) および v(i) は同じ型でなければなりません。

parfor i = 1:10;
  X = X + u(i);
  X = X + v(i);
end

同様に、次の例は、u(i)v(i) が同じ型である場合に限り有効です。

parfor i=1:10
  r = foo(r,u(i));
  r = foo(r,v(i));
end