斐波那契的OpenMP并行程序比顺序速度慢

时间:2019-11-12 13:31:15

标签: c gcc openmp tdm-mingw

我有以下顺序代码:

int fib(int n) {
int x, y;

if (n < 2)
return n;
x = fib(n-1);
y = fib(n-2);
return x + y;
}

此并行代码:

int fib(int n) {
int x, y;

if (n < 2)
return n;

#pragma omp task shared(x)
x = fib(n-1);

#pragma omp task shared(y)
y = fib(n-2);

#pragma omp taskwait
return x + y;
}

openmp并行代码比串行要慢。我使用的是tdm-gcc 7.4。我没有在Fibonacci运行时打开其他程序。怎么了?

0 个答案:

没有答案
相关问题