インテル® C++ コンパイラー 14.0 ユーザー・リファレンス・ガイド
並列ループを指定します。ループの各反復は、チーム内の 1 つのスレッドにより実行されます。
次の例は、このプラグマを使用し、for ループを並列に実行して円周率 (pi) の値を計算する方法を示します。
#include <omp.h>
static long num_steps = 1000000000;
double step;
int main ()
{
double pi, sum = 0.0;
step = 1.0/(double) num_steps;
#pragma omp parallel
{
int i;
#pragma omp for reduction(+:sum)
double x;
for (i=1; i<= num_steps; i++)
{
x = (i-0.5)*step;
sum = sum + 4.0/(1.0+x*x);
}
}
pi = step * sum;
printf("The computed value of Pi is: %1.10lf\n", pi);
}