- 论坛徽章:
- 0
|
在Linux下(ubuntu 810),用codeblock和openmp来开发多线程的C++程序,但是,编译器却无法识别一些OpenMp编译指示符,如:
/home/yanyan/myprojs/abc/main.cpp|19|警告: 忽略 #pragma omp task|
/home/yanyan/myprojs/abc/main.cpp|21|警告: 忽略 #pragma omp task|
/home/yanyan/myprojs/abc/main.cpp|23|警告: 忽略 #pragma omp taskwait|
/home/yanyan/myprojs/abc/main.cpp|51|警告: 忽略 #pragma omp task|
/home/yanyan/myprojs/abc/main.cpp|55|警告: 忽略 #pragma omp taskwait|
||=== Build finished: 5 errors, 0 warnings ===|
但是,另一些的OpenMP编译指示符却能通过编译, 如:#pragma omp parallel、#pragma omp single等;
有高人知道这是什么原因吗? 谢谢!!!
附: ----- Codes -------------
int main(int argc, char* argv[])
{
[...]
#pragma omp parallel
{
#pragma omp single
{
fib(input);
}
} /* end omp parallel */
[...]
}
int fib(int n)
{
if (n < 2) return n;
int x, y;
#pragma omp task shared(x)
x = fib(n - 1);
#pragma omp task shared(y)
y = fib(n - 2);
#pragma omp taskwait
return x+y;
} |
|