用于为#pragma omp任务依赖生成项目列表的模板元编程

时间:2018-05-11 16:29:27

标签: dependencies task openmp generator template-meta-programming

出于任务目的,OpenMP建议#pragma omp任务依赖,例如:

#pragma omp task depend ( dependence-type: locator-list [: iterators-definition])

模板元编程能帮助生成#pragma omp task depend的不同大小的depends()子句列表吗?

我需要一种在编译时根据用户信息生成(dependency-type:locator-list [:iterators-definition])的方法。

如果可能的话,请您就如何实现它向我提出建议?

1 个答案:

答案 0 :(得分:0)

pragma指令是预处理令牌,因此无法使用template-meta-programming生成。

尽管使用_Pragma()运算符,但是您可以从宏扩展中生成编译指示。看看this answer on a related question,它使用X-Macros(在C语言中)生成具有任意数量的依赖关系的从属子句。