C ユーザーズガイド

縮約変数

リストにあるすべての変数は、そのループに対しての縮約変数として扱われます。縮約変数とは、ループのある繰り返しを処理している個々の CPU によって、その値を部分的に計算され、最終値がすべての部分値から計算される変数のことをいいます。縮約変数リストにより、そのループが縮約ループであることをコンパイラに示し、適切な並列縮約用のコードを生成できるようにします。以下の例を考えてみましょう。


        #pragma MP taskloop reduction(x)
             for (i=0; i<n; i++) {
                 x = x + a[i];
          }

ここでは、変数 x が (和の) 縮約変数であり、i ループが (和の) 縮約ループになっています。