I am trying my first openmp program in c++, my code is:
#pragma omp parallel for num_threads(2)
for (int i=0;i<16;++i)
{
printf( "Thread %d works with idx %d\n", omp_get_thread_num(), i);
}
I compiled with g++ -O3 -fopenmp -std=c++11
However, when I run the program, I got:
Thread 0 works with idx 0
Thread 0 works with idx 1
Thread 0 works with idx 2
Thread 0 works with idx 3
Thread 0 works with idx 4
Thread 0 works with idx 5
Thread 0 works with idx 6
Thread 0 works with idx 7
Thread 1 works with idx 8
Thread 1 works with idx 9
Thread 1 works with idx 10
Thread 1 works with idx 11
Thread 1 works with idx 12
Thread 1 works with idx 13
Thread 1 works with idx 14
Thread 1 works with idx 15
Is it running in parallel? I was expecting something like thread0 - thread1 - thread0 - thread1, one after another.
What would be the problem here?