OpenMP seems not running in parallel

Viewed 1897

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?

1 Answers
Related