没有 OpenCL 设备(13.10 Core I5 4430 Intel Graphics HD)

没有 OpenCL 设备(13.10 Core I5 4430 Intel Graphics HD)

我对此进行了很多寻找,但没有找到任何有效的方法。

我有一台基于 Intel Core I5-4430 的系统,没有额外的图形适配器(因此它使用作为 CPU 一部分的板载集成 Intel Graphics HD),运行 Ubuntu 13.10。

运行 BOINC World Community Grid 时,系统提示“无可用 GPU”。运行比特币挖矿程序时,系统提示“无 OpenCL 设备”。

我在网上搜索,找到了两个可能的解决方案 - 一个是使用适用于 Xeon 平台的 Intel OpenCL 驱动程序,另一个是使用 AMD 驱动程序。我都试过了。我无法安装 Intel 驱动程序,因为有太多先决条件我无法安装,而 AMD 的安装速度相当快(它只有 200MB,安装时间不到一分钟),但这并没有解决问题。

也许我在这里找错了方向,我不确定,但是有没有什么方法可以利用我的 CPU 的高级功能来实现那些分布式计算程序?

更新

我尝试再次安装英特尔驱动程序(再次失败),这是输出install.sh

~/Downloads/intel_sdk_for_ocl_applications_xe_2013_r2_runtime_3.1.1.11385_x64$ ./install-cpu.sh 
In case of failure please consult README file
rpm: RPM should not be used directly install RPM packages, use Alien instead!
rpm: However assuming you know what you are doing...
error: Failed dependencies:
    /bin/sh is needed by opencl-1.2-base-1:3.1.1.11385-1.x86_64
    lsb-core-amd64 >= 4.0 is needed by opencl-1.2-base-1:3.1.1.11385-1.x86_64
    libnuma.so.1()(64bit) is needed by opencl-1.2-base-1:3.1.1.11385-1.x86_64
    libstdc++.so.6()(64bit) is needed by opencl-1.2-base-1:3.1.1.11385-1.x86_64
    /usr/sbin/update-alternatives is needed by opencl-1.2-intel-cpu-1:3.1.1.11385-1.x86_64
    /bin/sh is needed by opencl-1.2-intel-cpu-1:3.1.1.11385-1.x86_64
    ld-linux-x86-64.so.2()(64bit) is needed by opencl-1.2-intel-cpu-1:3.1.1.11385-1.x86_64
    ld-linux-x86-64.so.2(GLIBC_2.3)(64bit) is needed by opencl-1.2-intel-cpu-1:3.1.1.11385-1.x86_64
    lsb-core-amd64 >= 4.0 is needed by opencl-1.2-intel-cpu-1:3.1.1.11385-1.x86_64
    libnuma.so.1()(64bit) is needed by opencl-1.2-intel-cpu-1:3.1.1.11385-1.x86_64
    libstdc++.so.6()(64bit) is needed by opencl-1.2-intel-cpu-1:3.1.1.11385-1.x86_64
    libstdc++.so.6(CXXABI_1.3.1)(64bit) is needed by opencl-1.2-intel-cpu-1:3.1.1.11385-1.x86_64
    libstdc++.so.6(CXXABI_1.3)(64bit) is needed by opencl-1.2-intel-cpu-1:3.1.1.11385-1.x86_64
    libstdc++.so.6(GLIBCXX_3.4)(64bit) is needed by opencl-1.2-intel-cpu-1:3.1.1.11385-1.x86_64
    libstdc++.so.6(GLIBCXX_3.4.9)(64bit) is needed by opencl-1.2-intel-cpu-1:3.1.1.11385-1.x86_64

我真的不明白为什么缺少这么多依赖项。我检查了一下,实际上至少有大部分依赖项(/bin/sh例如,真的吗?)

而且似乎有很多重复。

关于第二行,即谈论使用的那一行Alien,我确实使用 alien 来转换这个包,包括脚本,然后尝试使用 Ubuntu 的包管理器进行安装,但由于缺少依赖项也失败了。

有什么想法吗?我做错了什么?

更新 2

按照 hbdgaf 的链接,我按照所选的答案说明进行操作,以下是我的输出:

$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)

$ ./capsbasic
Number of available platforms: 1
Platform names:
    [0] Experiment Intel Gen OCL Driver [Selected]
Number of devices available for each type:
    CL_DEVICE_TYPE_CPU: 0
    CL_DEVICE_TYPE_GPU: 0
    CL_DEVICE_TYPE_ACCELERATOR: 0

*** Detailed information for each device ***

显然我需要一个不同的驱动程序,但我在哪里可以找到它?看来英特尔的官方驱动程序不是为 Linux 构建的。

答案1

问题在于 Intel 安装程序使用 RPM,而 Ubuntu 使用 DEB。Rpms 无法理解其他 deb 的“提供”声明,这就是为什么会出现这种误导性的依赖性错误。

首先,我建议尝试安装这个 Fedora 或 Censtos 软件包(以使安装顺利),检查它是否真的解决了你原来的问题,然后你就会知道在 Ubuntu 上安装它是值得的。

相关内容