A.15 que determina el número de subprocesos utilizados
Considere el siguiente ejemplo incorrecto (para sección 3.1.2 en la página 37):
np = omp_get_num_threads(); // misplaced
#pragma omp parallel for schedule(static)
for (i=0; i<np; i++)
work(i);
La llamada de omp_get_num_threads() devuelve 1 en la sección en serie del código, así que NP siempre será igual a 1 en el ejemplo anterior.Para determinar el número de subprocesos que se implementarán para la región paralela, la llamada debe estar dentro de la región paralela.
El ejemplo siguiente se muestra cómo escribir este programa sin incluir una consulta para el número de subprocesos:
#pragma omp parallel private(i)
{
i = omp_get_thread_num();
work(i);
}