gpt4 book ai didi

python - 在 Windows 8 (x64) 中安装 PyOpenCL "fatal error: CL/cl.h: No such file or directory"错误

转载 作者:可可西里 更新时间:2023-11-01 09:28:43 36 4
gpt4 key购买 nike

在大量搜索此问题的解决方案后,我发现尚未针对 Windows 正确记录此特定错误。所以我决定将这个问题连同解决方案一起发布。抱歉,如果我将其发布在错误的部分。我希望这个解决方案能帮助用户解决 PyOpenCL 安装错误的问题。请注意,此处使用的示例适用于 ATI Radeon GPUs支持 AMD OpenCL SDK开发工具包。对于其他GPUs ,请引用各自的参数并根据需要实现。也不要尝试使用 pip 安装如果安装失败。而是下载 pyopencl 的压缩副本来自 here .

所以安装PyOpenCL时的错误信息是:

In file included from src/wrapper/wrap_cl.cpp:1:0:
src/wrapper/wrap_cl.hpp:27:19: fatal error: CL/cl.h: No Such File or Directory
error: command 'gcc' failed with exit status 1

为了解决这个问题,必须知道默认的CL/cl.h通常存放在:C:/Program Files (x86)/.../include/CL .但是由于 gcc 无法识别 (x86)编译器,你可以做的是:

  1. 复制 CL里面的文件夹C:/Program Files (x86)/AMD APP SDK/2.9-1/include并将其粘贴到单独的位置,例如您下载的目录 pyopencl.zip .
  2. 同时复制 x86_64里面的文件夹C:/Program Files (x86)/AMD APP SDK/2.9-1/lib并将其粘贴到与 CL 相同的目录中文件夹。
  3. 解压文件夹 pyopencl.zip然后转到 (location of pyopencl)/src/wrapper
  4. wrapper 内文件夹,打开文件 wrap_cl.hpp .
  5. 更改 #include <CL/cl.h>#include <cl.h>
  6. 接下来转到 CL您在第一步中复制并打开文件 cl_platform.h .再次重复第 5 步。
  7. 接下来找到 cl_ext.h CL 里面的文件文件夹并打开它。再次重复第 5 步。
  8. cmdadmin 中的窗口模式,进入目录pyopencl并运行命令 python configure.py .这将生成一个 siteconf.py包含一些安装参数的文件。
  9. 打开 siteconf.py文件并替换 CL_INC_DIR = []CL_INC_DIR = [r'(path to the new location of the CL folder)']并替换 CL_LIB_DIR = []CL_LIB_DIR = [r'(path to the new location of the x86_64 folder)'] .
  10. 终于在cmd , 运行 python setup.py install来自 pyopencl目录并享受。

希望此解决方案在安装 PyOpenCL 期间对您有所帮助在 Windows 8 (x64) 中。欢迎任何其他建议。

最佳答案

经过 2 天的尝试和错误,我成功了。 PyOpenCL 已安装。这是我的硬件:

ATI Radeon 7970 安装了 Catalyst 和大部分导入:安装了 AMD APP SDK (2.9.1)

开始使用 PyOpenCL 之前安装的软件:

1. python 2.7.9 (x86)

2. NumPy 的(x86)

3. pywin32

4. Visual Studio 2008

5. Mako ( -> easy_install Mako )

6.提升

对我而言,最重要的一步是正确获取 SITECONF.py 文件。为拿到它,为实现它:

在 pyopencl 目录中运行“python configure.py”以获取示例 siteconfig.py。

这是我修改后的文件。请注意,如果您想使用 nVidia,CL_INC_DIR = [] 和 CL_LIB_DIR = [] 将有所不同,可能看起来像这样:

CL_INC_DIR = [r'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.1\include']

CL_LIB_DIR = [r'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.1\lib\x64']

所以,我的 siteconf.py 文件:

  BOOST_INC_DIR = [r'C:\C++ Projects\boost_1_55_0']
BOOST_LIB_DIR = [r'C:\C++ Projects\boost_1_55_0\stage\lib']
BOOST_COMPILER = 'gcc43'
BOOST_PYTHON_LIBNAME = ['boost_python']
USE_SHIPPED_BOOST = True
CL_TRACE = False
CL_ENABLE_GL = True
CL_ENABLE_DEVICE_FISSION = True
CL_INC_DIR = [r'C:\Program Files (x86)\AMD APP SDK\2.9-1\include']
CL_LIB_DIR = [r'C:\Program Files (x86)\AMD APP SDK\2.9-1\lib\x86_64']
CL_LIBNAME = ['OpenCL']
CXXFLAGS = ['/EHsc']
LDFLAGS = ['/FORCE']

您可以在网上找到许多示例,其中 Microsoft SDK 也放在 CL_INC_DIR = [] 和 CL_LIB_DIR = [] 中,但是我不打算在我的 i3 处理器上使用 OpenCL,因此没有使用 MS 构建 pyopencl文件。我希望这可以帮到你!和梦想的结果:

>>> 将 pyopencl 导入为 cl

>>>

关于python - 在 Windows 8 (x64) 中安装 PyOpenCL "fatal error: CL/cl.h: No such file or directory"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28568845/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com