LLVM环境下openmp库安装步骤

  1. 下载openmp :http://releases.llvm.org/8.0.0/openmp-8.0.0.src.tar.xz
  2. 解压:xz –d openmp-8.0.0.src.tar.xz && tar –xvf openmp-8.0.0.tar
  3. 方便起见将文件名改为openmp,并在同级创建build
  4. cd build
  5. cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DLIBOMP_ARCH=x86_64 -DCMAKE_PREFIX_PATH=/path/to/llvm-project/install/lib/cmake/llvm -DCMAKE_INSTALL_PREFIX=/ path/to/llvm-project/install …
    (说明:我之前安装LLVM时,源码llvm、build、install同属一级,且clang环境变量属于install目录下bin。也就是说DCMAKE_INSTALL_PREFIX的路径是你之前配置的clang的bin目录的上层目录,其实也无所谓啦只要生成步骤6的几个文件就行)
    LLVM环境下openmp库安装步骤_第1张图片
    (上图路径有些问题已修改)
  6. make & make install
    LLVM环境下openmp库安装步骤_第2张图片
    (install下生成头文件与库)
  7. 安装好后可使用命令clang -fopenmp test.c -o test尝试
#include 
#include 
#include 
int main(){
    int i;
    #pragma omp parallel for schedule(static)
    for(i = 0; i < 10; i++ ){
        printf("i=%d, thread_id=%d \n", i, omp_get_thread_num());
    }
    return 0;
}

LLVM环境下openmp库安装步骤_第3张图片
如果成功生成了步骤6的五个文件,但是编译时还是说找不到omp.h,可将三个头文件复制到以下几个路径中:
LLVM环境下openmp库安装步骤_第4张图片
运行时报错没有libomp.so文件,需要修改环境变量:

export LD_LIBRARY_PATH=/home/canaan/soft/llvm-project/install/lib:$LD_LIBRARY_PATH

OpenMP常用于循环并行化:
找出最耗时的循环→完成串行程序→在串行程序上加上编译制导语句
LLVM环境下openmp库安装步骤_第5张图片

你可能感兴趣的:(LLVM环境下openmp库安装步骤)