Я новичок в OpenMP, и я застрял в базовой операции. Вот пример кода для моего вопроса.
#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. Как это можно сделать?