Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
может быть виндошная реализация omp умней чем линуксовя, но вам явно не хватает объявления private(strHash, stream) в прагме
По умолчанию общими являются все переменные, за исключением переменной цикла, которая является индивидуальной. Память можно объявить как индивидуальную следующими двумя способами.
* Объявите переменную внутри цикла (внутри директивы OpenMP) без ключевого слова static.
* Укажите индивидуальное выражение в директиве OpenMP.
// This works. The variable temp is now private
#pragma omp parallel for
for (i=0; i < 100; i++)
{
int temp; // variables declared within a parallel construct are, by definition, private
temp = array[i];
array[i] = do_something(temp);
}
Использование OpenMP для распараллеливания вычислений