Ich bin neu in OpenMP und ich bin mit einer grundlegenden Operation fest. Hier ist ein Beispielcode für meine Frage.OpenMP: So kopieren Sie den Wert der erstenprivaten Variablen zurück in den globalen
#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]);
}
}
}
Wie ersichtlich, ist der Wert von A lokal für jeden Thread. Am Ende möchte ich jedoch einen Teil von A, der von jedem Thread berechnet wurde, an die entsprechende Position in der globalen Variablen A zurückschreiben. Wie kann dies erreicht werden?