Parallelisiert der folgende Code die ersten (äußeren) Schleifen oder parallelisiert er die gesamten verschachtelten Schleifen?Wie behandelt OpenMP verschachtelte Schleifen?
#pragma omp parallel for
for (int i=0;i<N;i++)
{
for (int j=0;j<M;j++)
{
//do task(i,j)//
}
}
Ich möchte nur sicherstellen, wenn der obige Code wird die gesamte verschachtelte for-Schleifen (also einen Thread in direktem Zusammenhang Aufgabe (i, j)) parallelisieren, oder es parallelisiert nur die äußere for-Schleife (also es stellt sicher, dass für jeden parallelen Thread mit Schleifenindex i seine innere Schleife sequentiell in einem einzigen Thread ausgeführt wird, was sehr wichtig ist).
Danke, das ist großartig, ich möchte nur die äußeren Schleifen parallel laufen lassen, während ich sicherstelle, dass die inneren Schleifen nacheinander ihre Arbeit machen. – user0002128