如何使用C语言中的OpenMP将嵌套循环与语句并行化。我将非常感谢你。
#include <stdio.h>
#include <string.h>
#include <omp.h>
int main(int argc, char **argv) {
int n= 10000;
double y [10000];
int i;
int j;
double t = 0;
double k, f;
for (i=0; i<n; i++) {
k = (double) (i+1);
f = 0;
for (j=0;j<n;j++)
f += k / (double) (j+1);
t += f;
}
printf("%f\n",t);
}
答案 0 :(得分:0)
您应该使用reduction
openmp子句。这是一个简短的例子:
#pragma omp parallel for reduction(+:f)
for (j=0;j<n;j++)
f += k / (double) (j+1);