【问题标题】:PyOpenCL can't find include files when installed via "easy_install."通过“easy_install”安装时,PyOpenCL 找不到包含文件。
【发布时间】:2011-06-15 07:31:47
【问题描述】:

所以我已经下载了 nVidia CUDA 库并将它们放在默认位置:

/usr/local/cuda

当我去运行这个时:

sudo easy_install pyopencl

它给了我这个错误:

In file included from src/wrapper/wrap_cl.cpp:1:0:
src/wrapper/wrap_cl.hpp:20:19: fatal error: CL/cl.h: No such file or directory

但是,我可以验证上述文件确实与其他几个头文件一起存在:

/usr/local/cuda/include/CL/cl.h

我什至尝试过设置 LD_LIBRATH_PATH:

export LD_LIBRARY_PATH=/usr/local/cuda/lib

但是好像没什么效果。

感谢任何帮助!

【问题讨论】:

    标签: python cuda opencl easy-install


    【解决方案1】:

    您的编译器的包含路径可能不包含 /usr/local/cuda/include/。环境变量 LD_LIBRARY_PATH 实际上是用来告诉编译器/运行时环境在哪里可以找到共享对象文件。有两种方法(知道)来解决这个问题:

    1) 大多数编译器都接受一个标志,该标志指定包含路径的附加内容;对于 gcc,它是 -I,所以

    gcc -I /usr/local/cuda/include [code files, more options, etc]
    

    将告诉 gcc 在 /usr/local/cuda/include 中查找包含,以及系统包含路径

    2) 将 OpenCL 头文件链接到您的系统包含路径(通常是 /usr/include/)。 比如:

    # ln -s /usr/local/cuda/include/CL CL
    

    从目录 /usr/include 中执行应该可以工作。

    如果修复此问题后,您遇到如下问题:

    /usr/bin/ld: cannot find -lOpenCL
    

    那么你可能想看看this question

    【讨论】:

    • 做到了,非常感谢!是的 - 我必须在提供的链接中执行额外的步骤。它已安装并正在运行。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-03
    • 1970-01-01
    • 2012-04-07
    • 2012-12-07
    • 2010-12-31
    • 1970-01-01
    • 2013-09-22
    相关资源
    最近更新 更多