Я новичок в OpenMP, и я зациклился на базовой операции. Вот пример кода для моего вопроса.OpenMP: как скопировать значение переменной firstprivate обратно в глобальную
#include <omp.h>
int main(void)
{
int A[16] = {1,2,3,4,5 ...... 16};
#pragma omp parallel for firstprivate(A)
for(int i = 0; i < 4; i++)
{
for(int j = 0; j < 4; j++)
{
A[i*4+j] = Process(A[i*4+j]);
}
}
}
Как очевидно, значение A является локальным для каждой нити. Однако в конце я хочу написать часть A, вычисленную каждым потоком, в соответствующую позицию в глобальной переменной A. Как это можно сделать?