gpt4 book ai didi

c - block 错误的openmp

转载 作者:行者123 更新时间:2023-12-04 20:16:21 24 4
gpt4 key购买 nike

为什么openmp会给我这个错误:-

错误:在“{”标记之前预期的语句

#include <stdio.h>
#include <stdlib.h>
#include <omp.h>
#include <unistd.h>

int main (int argc, char *argv[])
{

#pragma omp parallel
{

int a[100],b[100],c[100];
int i =0;

for(; i < 100; i++){
a[i] = i;
b[i] = i;
}

#pragma omp parallel for schedule(static,5)
{
int i = 0;
for( ; i < 100 ; i++){ // this is the for loop that is referred in the error message
c[i] = a[i] + b[i];
}

}

}

printf("Outside parallel block \n");

}

最佳答案

首先,第二个 OpenMP pragma 中不应有“并行”;您已经打开了一个并行 block ,您现在需要共享 for 循环的工作。

其次,您不能将并行用于包围一个通用 block ;它必须是一个for循环。如果你真的想要一个不同的i比上面使用的,做:

#pragma omp for schedule(static,5)
for (int i=0; i < 100; i++)
{
c[i] = a[i] + b[i];
}

关于c - block 错误的openmp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9264680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com