【发布时间】:2018-03-24 21:07:29
【问题描述】:
是否可以为 openMP 名称创建预处理器别名?
IE
#define #myParallel #pragma omp parallel for
#define #myBarrier #pragma omp barrier
为了目的
#ifdef MY_LIB_DISABLE_OPENMP
#define #myParallel
#define #myBarrier
#else
#define #myParallel #pragma omp parallel for
#define #myBarrier #pragma omp barrier
#endif
我有两个库都使用 openmp。第一个库(并行化)调用来自第二个库(也是并行化)的函数,我认为这会导致线程数量呈指数增长。我希望能够禁用第二个库 openmp 调用。 (这两个库都是我的,所以我可能会修改)。
唯一的其他解决方案是复制/粘贴包含在 #ifdef #else 中的大块代码,但这似乎非常低效/非常不雅。
【问题讨论】:
标签: c++ multithreading openmp preprocessor-directive