我想通过指针在变量引用上指定#pragma omp task depend(...)
子句。这可以在OmpSs中看起来像:
#pragma omp task in(*var1) out(*var2)
基本上这是我想在OpenMP 4.0中做的,但是代码如下:
#pragma omp task depend(in: *var1) depend(out: *var2)
产生以下错误:
error: expected identifier before ‘*’ token
#pragma omp task depend(in: *var1) depend(out: *var2)
如何在OpenMP 4.0中完成?
答案 0 :(得分:3)
根据Hristo Iliev的comment,正确的解决方法是将指针视为大小为1的数组:
#pragma omp task depend(in: var1[:1]) depend(out: var2[:1])
arr[lower bound : length]
pragma中允许的数组部分语法depend
如果省略则将lower bound
设置为0,如果省略则将length
设置为数组大小(因此不允许指针类型)。