出于任务目的,OpenMP建议#pragma omp任务依赖,例如:
#pragma omp task depend ( dependence-type: locator-list [: iterators-definition])
模板元编程能帮助生成#pragma omp task depend的不同大小的depends()子句列表吗?
我需要一种在编译时根据用户信息生成(dependency-type:locator-list [:iterators-definition])的方法。
如果可能的话,请您就如何实现它向我提出建议?
答案 0 :(得分:0)
pragma指令是预处理令牌,因此无法使用template-meta-programming生成。
尽管使用_Pragma()
运算符,但是您可以从宏扩展中生成编译指示。看看this answer on a related question,它使用X-Macros(在C语言中)生成具有任意数量的依赖关系的从属子句。