我正在尝试执行以下代码, 虽然我知道“语法上”有序的构造应该出现在 for 循环中, 但为什么代码会卡在有序子句中 即执行应该立即给我一个“语法错误”。
omp_set_num_threads(11);
#pragma omp parallel
{
// 1
#pragma omp ordered
{
printf("\n%d ",omp_get_thread_num());//this statement is not getting executed
}//ordered omp pragma
}//parallel omp pragma
//1处的打印语句成功 我什至尝试删除 ompgetthreadnum() 但仍然无济于事。
最佳答案
#pragma ompordered
只能出现在#pragma omp forordered
构造中。
关于c - 为什么以下包含有序 "construct"的 openmp 代码不执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22171334/