【问题标题】:OpenCL library link fail with Xeon Phi when compile编译时 OpenCL 库链接因 Xeon Phi 失败
【发布时间】:2014-05-21 10:21:57
【问题描述】:

我想在 Xeon Phi 协处理器上运行 OpenCL,
所以我尝试在我的服务器上安装英特尔 OpenCL SDK,
现在,我可以在主机上正确运行 OpenCL,但我尝试将代码编译为 MIC 使用,如下所示:

icpc capsbasic.cpp -mmic -lOpenCL -ocapsbasic
x86_64-k1om-linux-ld: skipping incompatible /opt/intel/opencl/lib64/libOpenCL.so                           
when searching for -lOpenCL
x86_64-k1om-linux-ld: cannot find -lOpenCL
make: *** [capsbasic] Error 1

“libOpenCL.so”是存在的,没有标签“-mmic”也能正常运行,
我感觉很糟糕,我能做些什么来解决它?

【问题讨论】:

    标签: linux opencl xeon-phi


    【解决方案1】:

    -mmic 标志用于构建完全在协处理器上运行的本机二进制文件。如果您使用的是 OpenCL,这不是您想要做的。 OpenCL 方法是在主机 CPU 上运行代码,并使用 OpenCL 运行时 API 将代码的计算密集型部分卸载到设备上。当应用程序在主机 CPU 上运行时,您的 Xeon Phi 应该显示为 OpenCL 设备;如果没有,那么您的设备配置不正确。确保您已安装 Intel MPSS driver 以及正确的 OpenCL SDK。

    【讨论】:

    • 哦,非常感谢!你真的解决了我的困惑,我从英特尔运行示例代码,它可以正确地看到我的设备名称。所以,如果我想让代码在我的 Xeon phi 上运行,我需要自己更改代码,对吧?
    • 是的,您只需在调用clGetDeviceIDs时使用设备类型CL_DEVICE_TYPE_ACCELERATOR(或CL_DEVICE_TYPE_ALL)即可。
    • 谢谢!我稍后会尝试!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多