What is the difference between these two?
[A]
#pragma omp parallel
{
#pragma omp for
for(int i = 1; i < 100; ++i)
{
...
}
}
[B]
#pragma omp parallel for
for(int i = 1; i < 100; ++i)
{
...
}
multithreadingopenmpparallel-processing
What is the difference between these two?
[A]
#pragma omp parallel
{
#pragma omp for
for(int i = 1; i < 100; ++i)
{
...
}
}
[B]
#pragma omp parallel for
for(int i = 1; i < 100; ++i)
{
...
}
Best Answer
These are equivalent.
#pragma omp parallel
spawns a group of threads, while#pragma omp for
divides loop iterations between the spawned threads. You can do both things at once with the fused#pragma omp parallel for
directive.