天天看點

原生clang支援OpenMP原生clang支援OpenMP

原生clang支援OpenMP

17天前, OpenMP正式被brew收錄(在此之前的方法, 要麼是安裝llvm, 要麼就是過時的clang-omp). 是以整個安裝過程就變得簡單了. 下面分别說說Xcode, Qt creator整體過程

安裝OpenMP

brew install libomp
           

目前的版本對應的llvm 5.0.1

Xcode的配置

  • header file位置
    原生clang支援OpenMP原生clang支援OpenMP
  • 編譯參數

    -Xpreprocessor -fopenmp

    或者

    -Xclang -fopenmp

    原生clang支援OpenMP原生clang支援OpenMP
  • linker參數
    原生clang支援OpenMP原生clang支援OpenMP

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());
}