我一直在試圖圍繞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