#pragma omp parallel num_threads is not working
16,531
Solution 1
You need to compile your program with -fopenmp
.
g++ a.cc -fopenmp
Solution 2
In VisualStudio just switch on OMP. You can refer to https://msdn.microsoft.com/de-de/library/fw509c3b(v=vs.120).aspx
Author by
user08
Updated on July 26, 2022Comments
-
user08 over 1 year
#include<omp.h> #include<stdio.h> #include<stdlib.h> void main(int argc, int *argv[]){ #pragma omp parallel num_threads(3) { int tid = omp_get_thread_num(); printf("Hello world from thread = %d \n",tid); if(tid == 0){ int nthreads = omp_get_num_threads(); printf("Number of threads = %d\n",nthreads); } } }
I am learning OpenMP and I don't understand why it executes only one thread when I have specified the number of threads 3? The program ouptut:
Hello world from thread = 0 Number of threads = 1