使用Intel Core 2 Duo E8500 CPU的CL_DEVICE_NOT_AVAILABLE

时间:2013-08-12 17:44:27

标签: opencl intel

运行this sample code时收到错误CL_DEVICE_NOT_AVAILABLE。但是,与那个问题不同,我的CPU,Intel Core 2 Duo E8500 CPU似乎是supported。我确保链接到英特尔版本的OpenCL库,因为我也安装了Nvidia库。为什么会出现此错误?

3 个答案:

答案 0 :(得分:4)

英特尔OpenCL SDK 2013需要SSE 4.2。据我所知(here),英特尔酷睿2双核E8500 CPU只有SSE 4.1

“CL_DEVICE_NOT_AVAILABLE”是您尝试在不受支持的CPU上创建OpenCL设备时遇到的错误。

对您而言,好消息是英特尔OpenCL SDK 2012适用于SSE 4.1;您应该卸载2013 SDK并使用2012 SDK(或获取更新的CPU)。

答案 1 :(得分:3)

“CL_DEVICE_NOT_AVAILABLE”与SDK无关。这是由于OpenCL设备驱动程序是视频卡设备驱动程序的一部分。

将SDK和OpenCL设备驱动程序混淆是很常见的。您使用SDK开发主机代码,但内核已编译并通过设备驱动程序运行。我经常使用英特尔SDK开发,但我使用英特尔视频驱动程序或AMD Radeon驱动程序在CPU上运行内核,使用Nvidia视频驱动程序(GTX590)在GPU上运行内核。我在Windows中安装了所有三个视频驱动程序。您不必使用AMD视频卡来安装Radeon驱动程序。

因此,在您的情况下,您可以使用AMD驱动程序在CPU上运行内核。它们比英特尔的限制性要小得多。

在Windows上,我使用英特尔OpenCL驱动程序在AMD Sandy Bridge CPU上运行内核的速度更快。但是,在Linux上,AMD驱动程序在英特尔CPU上的运行速度比英特尔驱动程序快。

答案 2 :(得分:0)

我在创建有关如何在Ubuntu 18.04上安装hashcat的教程时遇到了此错误;我已包含以下有关为英特尔®处理器安装OpenCL™运行时的说明-选项A(推荐)-请随时阅读我的​​full gist on GitHub。希望有帮助!

为英特尔®处理器安装OpenCL™运行时

为英特尔®处理器安装OpenCL™运行时-选项A(推荐)

  1. 通过运行sudo lscpu来检查您的CPU系统处理器体系结构,以识别CPU的类别,例如“ Intel(R)Core(TM)i7-7700 CPU @ 3.60Ghz”-或者,您可以转至Settings(设置)> Details(详细信息),该信息还将显示CPU系列(例如Intel(R)HD Graphics 630(Kaby Lake GT2)) 。
  2. 转到Intel Developer Zone并向下滚动至系统的相应下载链接;假设您正在运行Ubuntu 18.04并且具有Intel Core-class CPU,请向下滚动至“ Linux * OS Ubuntu * 16.04.x(deb)”,然后单击Github link for 18.46.11837 Runtimes以访问要下载的运行时软件包。
  3. 上述Github存储库中应有说明,否则您可以继续执行以下步骤。
  4. cd ~/Desktop
  5. mkdir neo
  6. cd neo
  7. sudo wget https://github.com/intel/compute-runtime/releases/download/18.46.11837/intel-gmmlib_18.4.0.348_amd64.deb
  8. wget https://github.com/intel/compute-runtime/releases/download/18.46.11837/intel-igc-core_18.44.1060_amd64.deb
  9. wget https://github.com/intel/compute-runtime/releases/download/18.46.11837/intel-igc-opencl_18.44.1060_amd64.deb
  10. wget https://github.com/intel/compute-runtime/releases/download/18.46.11837/intel-opencl_18.46.11837_amd64.deb
  11. 通过运行sudo dpkg -i *.deb安装软件包。
  12. 通过运行sudo reboot重新启动系统。

为英特尔®处理器安装OpenCL™运行时-选项B

  1. 转到Intel OpenCL Runtimes website并向下滚动至页面底部,以下载适用于LINUX OS(仅限64位)的OpenCL Applications 18.1的英特尔CPU运行时。
  2. 下载适用于Intel处理器的OpenCL运行时之后,cd ~/Downloads
  3. 运行sudo tar -xzf l_opencl_p_18.1.0.013.tgz来解压缩tgz文件-请注意,自此版本开始,OpenCL文件的版本可能已更新(即,自此版本开始,版本为18.1.0.013。)
  4. cd l_opencl_p_18.1.0.013
  5. 运行sudo ./install.sh
  6. 提示欢迎屏幕-按住“ Enter”键,直到能够输入“我不同意收集我的信息”的选项“ 2”为止。
  7. 打“ 1”
  8. 打“ 1”
  9. 单击“ Enter”,然后重新启动计算机。
  10. 如果在测试hashcat之后遇到任何其他的Intel OpenCL错误,请转到“为Intel®处理器安装OpenCL™运行时-B”部分-如果没有,请继续进行“测试Hashcat”部分。