原生clang支援OpenMP
17天前, OpenMP正式被brew收錄(在此之前的方法, 要麼是安裝llvm, 要麼就是過時的clang-omp). 是以整個安裝過程就變得簡單了. 下面分别說說Xcode, Qt creator整體過程
安裝OpenMP
brew install libomp
目前的版本對應的llvm 5.0.1
Xcode的配置
- header file位置
- 編譯參數
或者-Xpreprocessor -fopenmp
-Xclang -fopenmp
- linker參數
Qt creator配置
- pro配置檔案
win32 {
QMAKE_CXXFLAGS += -openmp
}
macx {
INCLUDEPATH += /usr/local/include
QMAKE_CXXFLAGS += -Xpreprocessor -fopenmp
QMAKE_LFLAGS += -L/usr/local/lib -lomp
}
測試代碼
main.cpp
#include <stdio.h>
#include <omp.h>
int main()
{
int i = 5;
int j = 6;
int k = 7;
#pragma omp parallel
printf("i=%d, j=%d, k=%d\n", i, j, k);
#pragma omp parallel
printf("thread %d, nthreads %d\n", omp_get_thread_num(),
omp_get_num_threads());
}