¿Es posible hacer una reducción en una matriz con openmp?

¿OpenMP admite de forma nativa la reducción de una variable que representa una matriz?

Esto funcionaría algo como lo siguiente ...

float* a = (float*) calloc(4*sizeof(float));
omp_set_num_threads(13);
#pragma omp parallel reduction(+:a)
for(i=0;i<4;i++){
   a[i] += 1;  // Thread-local copy of a incremented by something interesting
}
// a now contains [13 13 13 13]

Idealmente, habría algo similar para un omp paralelo, y si tiene una cantidad suficiente de hilos para que tenga sentido, la acumulación ocurriría a través del árbol binario.

Respuestas a la pregunta(5)

Su respuesta a la pregunta