Wie geht OpenMP mit verschachtelten Schleifen um?
Parallelisiert der folgende Code nur die ersten (äußeren) Schleifen oder die gesamten verschachtelten 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, dass der obige Code die gesamten verschachtelten for-Schleifen parallelisiert (also eine Thread-direkt verwandte Aufgabe (i, j)) oder nur die äußere for-Schleife parallelisiert (also dies für jede Parallele sicherstellt) Thread mit Schleifenindex i, seine innere Schleife wird sequentiell in einem einzigen Thread ausgeführt (was sehr wichtig ist).