Я пытаюсь распараллелить мою программу с помощью openMP. Программа использует STL-итераторы в большой степени. сказал, что openMP 3.0 может справиться с этим:
std::vector<int> N(2*N_max+1);
std::vector<int>::const_iterator n,m;
#pragma omp parallel for
for (n=N.begin(); n!=N.end(); ++n){
//Task to be in parallel
};
Но я получил следующую ошибку:
error: invalid controlling predicate
Я использую gcc 4.5.0 (openMP3 реализован в 4.4.0), а моя строка сборки:
g++ -O0 -g3 -Wall -c -fmessage-length=0 -fopenmp -MMD -MP