Почему версия OpenMP медленнее?

Я экспериментирую с OpenMP. Я написал код, чтобы проверить его работоспособность. На 4-ядерном одном процессоре Intel с Kubuntu 11.04 следующая программа, скомпилированная с OpenMP, примерно в 20 раз медленнее, чем программа, скомпилированная без OpenMP. Почему?

Я скомпилировал его с помощью g ++ -g -O2 -funroll-loops -fomit-frame-pointer -march = native -fopenmp

#include <math.h>
#include <iostream>

using namespace std;

int main ()
{
  long double i=0;
  long double k=0.7;

  #pragma omp parallel for reduction(+:i)
  for(int t=1; t<300000000; t++){       
    for(int n=1; n<16; n++){
      i=i+pow(k,n);
    }
  }

  cout << i<<"\t";
  return 0;
}
11
задан Duncan 28 June 2011 в 13:11
поделиться