我刚刚用一个简单的 c 程序尝试了 OpenMP
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();
}
编译g++ -fopenmp
。它可以正确打印出我有 4 个 CPU,但所有测试功能都在thread 0
.
我试图修改OMP_NUM_THREADS
. 但它也没有效果。
我的一切都与在线示例相同,但为什么我不能让它工作呢?