Why OpenMP program runs only in one thread
问题 I just tried OpenMP with a simple c program test() { for(int i=0;i<100000000;i++); } main() { printf("Num of CPU: %d\n", omp_get_num_procs()); #pragma omp parallel for num_threads(4) for(int i=0;i<100;i++) test(); } Compiled with g++ -fopenmp . It can correctly print out that I have 4 CPUs, but all test functions are running at thread 0 . I tried to modify the OMP_NUM_THREADS . But it has no effect also. I had everything the same as the online examples but why wouldn't I get it to work? 回答1: