Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C “omp并行循环”;至于;带返回语句_C_Parallel Processing_Openmp - Fatal编程技术网

C “omp并行循环”;至于;带返回语句

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

我遇到了问题,我想与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 (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用于并行素数搜索。可能存在与此一致的重复项,例如,不允许在并行部件内有
返回