【发布时间】:2019-07-26 16:10:04
【问题描述】:
我刚刚安装了适用于 Linux* 的英特尔® Parallel Studio XE 集群版 2019 年,我正在尝试使用 OpenMP 卸载到 Xeon Phi 加速器。我正在使用带有标志的 cmake
CC=~/intel/bin/icc CXX=~/intel/bin/icpc CMAKE_CXX_FLAGS="-qopenmp-offload" cmake ..
这一切都设置好了,没有任何问题。但是,当我运行 make 时,出现以下错误:
ld: warning: libcoi_device.so.0, needed by /opt/software/icc/2018.1.163-GCC-6.4.0-2.28/compilers_and_libraries_2018.1.163/linux/compiler/lib/intel64/libioffload_target.so.5, not found (try using -rpath or -rpath-link)
/opt/software/icc/2018.1.163-GCC-6.4.0-2.28/compilers_and_libraries_2018.1.163/linux/compiler/lib/intel64/libioffload_target.so.5: undefined reference to `COIPerfGetCycleFrequency@COI_1.0'
/opt/software/icc/2018.1.163-GCC-6.4.0-2.28/compilers_and_libraries_2018.1.163/linux/compiler/lib/intel64/libioffload_target.so.5: undefined reference to `COIBufferAddRef@COI_1.0'
/opt/software/icc/2018.1.163-GCC-6.4.0-2.28/compilers_and_libraries_2018.1.163/linux/compiler/lib/intel64/libioffload_target.so.5: undefined reference to `COIPipelineStartExecutingRunFunctions@COI_1.0'
/opt/software/icc/2018.1.163-GCC-6.4.0-2.28/compilers_and_libraries_2018.1.163/linux/compiler/lib/intel64/libioffload_target.so.5: undefined reference to `COIEngineGetIndex@COI_1.0'
/opt/software/icc/2018.1.163-GCC-6.4.0-2.28/compilers_and_libraries_2018.1.163/linux/compiler/lib/intel64/libioffload_target.so.5: undefined reference to `COIBufferReleaseRef@COI_1.0'
/opt/software/icc/2018.1.163-GCC-6.4.0-2.28/compilers_and_libraries_2018.1.163/linux/compiler/lib/intel64/libioffload_target.so.5: undefined reference to `COIProcessWaitForShutdown@COI_1.0'
make[2]: *** [GPU] Error 1
make[1]: *** [CMakeFiles/GPU.dir/all] Error 2
make: *** [all] Error 2
经过进一步检查,我发现在英特尔编译器 libioffload_target.so.5 的 /opt 和 ~/intel 安装中都缺少 libcoi_device.so.0 => not found。
关于为什么会这样的任何想法?
【问题讨论】:
-
你找到解决办法了吗?
-
我没有。我最终改用了 IBM 编译器。
标签: c++ c openmp intel offloading