Linux Arch OpenCL ICD Loader - Nvidia GPU,Intel CPU

时间:2014-06-12 16:39:31

标签: linux opencl intel nvidia

我正在尝试在我的英特尔CPU和Nvidia GPU上同时运行我的OpenCL应用程序以实现负载平衡。但我遇到的问题是只检测到Nvidia Plattform。

我使用这个cl.hpp调用:

std::vector<cl::Platform> m_platforms;
cl::Platform::get(&m_platforms);

我的系统设置:

  • Linux Arch 3.14.6-1-ARCH
  • Intel Haswell 4770K
  • Nvidia 250GTS

已安装的软件包:

  • nvidia-libgl 337.25-1
  • opencl-nvidia 337.25-1
  • nvidia 337.25-1
  • nvidia-utils 337.25-1
  • mesa 10.2.1-1
  • 的OpenCL-headers12
  • intel-opencl-sdk 2014R1-2
  • opencl-icd 1.2.11.0-4

两个平台(Intel,Nvidia)都在/ etc / OpenCL / Vendors中有.icd文件。因此,我不知道我可以尝试最终获得英特尔CPU OpenCL平台的认可。也许你有一些想法?

2 个答案:

答案 0 :(得分:3)

目前,最好卸载这两个软件包(intel-opencl-sdk和intel-opencl-runtime)并从community repository安装beignet。

sudo pacman -S --needed beignet

该软件包提供相同的功能,并允许您使用英特尔GPU核心。

我可以确认它与其他OpenCL平台共存,例如NVIDIA提供的平台,在具有Optimus功能的华硕G750JM上进行了测试。目前通过bbswitch切换并通过PRIME和primus卸载GL渲染。

某些管道(pyrit)可以在两个平台上同时使用OpenCL,从而显着提升性能。

答案 1 :(得分:0)

我找到了另一个名为&#34; intel-opencl-runtime &#34;的软件包。 intel-opencl-sdk包含icd文件,但似乎不足以能够使用Intel平台运行OpenCL应用程序。为了能够使用Intel平台运行OpenCL,还必须安装上述运行时包。