我一直在试图围绕MPI和OpenMP构建一个包装,使其具有统一的代码格式,而不必在MPI_xxx,omp_xxx和#pragma omp xxx之间进行切换。如何为编译指示创建包装并使其正确编译?
我一直在周围产生不同的#pragma OMP指令的包装问题,到目前为止,我已经得到了最好是把它作为:
#define _mmc_(x) _Pragma("omp ## #x")
(MMC是暂定名我库)
所以,如果我想有
#pragma omp parallel for
相应的包装应该是
_mmc_(parallel for)
然而,当它编译,编译器似乎以不同的方式对其进行评估,给我编译警告
test.cpp:22:0: warning: ignoring #pragma omp [-Wunknown-pragmas]
_mmc_(parallel for)
我与MPIC++在Ubuntu 14.04编译的MPICH 3.0.4周围GCC 4.8.4,与标志
-fopenmp -lm -std=c++11 -Wall
有什么我可以做或添加到代码来完成这项工作,或者这仅仅是一些无法用现有的工具来完成?
小记:以下划线开头的全局名称保留用于实现。 – chris