C “omp并行循环”;至于;带返回语句
我遇到了问题,我想与OMPA for循环并行,循环中有一个return语句 这是密码C “omp并行循环”;至于;带返回语句,c,parallel-processing,openmp,C,Parallel Processing,Openmp,我遇到了问题,我想与OMPA for循环并行,循环中有一个return语句 这是密码 int isPrime_parallele(int number) { int i; if (number == 2) return 1; if (number % 2 == 0) return 0; omp_set_num_threads(4); for (i = 3; i <= (int)sqrt(number); i += 2){ if (n
int isPrime_parallele(int number) {
int i;
if (number == 2) return 1;
if (number % 2 == 0) return 0;
omp_set_num_threads(4);
for (i = 3; i <= (int)sqrt(number); i += 2){
if (number % i == 0) return 0;
}
return 1;
}
int-isPrime\u并行(int-number){
int i;
如果(number==2)返回1;
如果(数字%2==0)返回0;
omp_设置_数量_线程(4);
对于(i=3;i OpenMP不允许从循环中任意跳出——因此您的“代码”不会像您希望的那样工作。您可以使用cancel
子句,这是一种OpenMP方法,在满足某些条件时停止并行区域内的所有线程。除此之外,还可以查看有关使用的其他问题OpenMP用于并行素数搜索。可能存在与此一致的重复项,例如,不允许在并行部件内有返回
。