Я пытаюсь скомпилировать простую программу с использованием OpenMP, но я получаю следующую ошибку, хотя в спецификации OpenMP говорится, что это правильная конструкция.
Ошибка
file.cc: In function ‘int main()’:
file.cc:18:26: error: ‘reduction’ is not valid for ‘#pragma omp taskloop’
#pragma omp taskloop reduction(+:sum)
Программа
#include <iostream>
#include "omp.h"
int main(){
int size = 1000;
int sum = 0;
#pragma omp parallel
#pragma omp taskloop reduction(+:sum)
for(int i = 0; i < size; ++i){
sum += 1;
}
std::cout << "Sum: " << sum << std::endl;
return 0;
}
При выводе версии с --version я получаю g cc (G CC) 8,4,0. Altought, установленная версия на Arch 9.3.0
Я скомпилировал с
g++ -fopenmp file.cc
Заранее спасибо!