在AMD APU上使用OpenCL,但为X服务器使用独立GPU

时间:2016-04-15 04:28:46

标签: opencl gpgpu amd-processor

是否可以在A10-7800上启用OpenCL而不将其用于X服务器?我有一个用于GPGPU编程的Linux盒子。离散的GEForce 740卡用于X服务器和运行OpenCL&我开发的Cuda程序。我还想在APU的集成GPU核心上运行OpenCL代码。

到目前为止,我所阅读的所有内容都暗示如果我想将APU用于OpenCL,我必须安装Catalyst和AFAIK,这意味着将它用于X服务器。这是真的?将APU用于我的X服务器并将GEForce仅用于GPGPU代码是否有优势?

2 个答案:

答案 0 :(得分:2)

我有一个类似的目标,所以我建立了一个带有AMD APU(4个常规内核+6个GPU)和Nvidia独立显卡的系统。很抱歉,说它工作起来并不容易,所以我在Ask Ubuntu论坛上问过question,没有得到任何答案,经过硬件和软件设置的实验很多,最后我自己回答了我的问题。

我将在这里再次描述我的设置 - 谁知道,Ask Ubuntu上我自动回答的问题可能会发生什么?

首先,我必须通过BIOS标志启用集成图形硬件。这个标志在我的主板上被称为IGFX Multi-Monitor(华硕A88X-PRO)。

第二步是找到低级图形驱动程序和高级OpenCL实现的正确组合。 AMD处理器的低级驱动程序称为AMD Catalyst,文件名为fglrx。我没有从Ubuntu软件中心安装这个驱动程序 - 而是使用了直接从AMD站点下载的版本15.302。我不得不为这个驱动程序安装了大量的先决条件。最重要的发现是我必须在aticonfig安装后跳过运行fglrx命令 - 此命令实际上配置X服务器以使用 this 图形输出的驱动程序,我不想要它。

然后我安装了AMD SDK Ver 3.0(版本130.136,早期版本不能与我的fglrx一起使用) - 它是AMD的OpenCL实现。 clinfo命令现在报告具有正确内核数量的CPU和GPU。

所以,我有一个由OpenCL支持的混合AMD处理器,具有所有图形输出,由带有Nvidia处理器的独立显卡支持。

祝你好运!

答案 1 :(得分:0)

我维护一个包含NVIDIA和(离散)AMD GPU的Linux服务器(OpenSUSE,但分发无关紧要)。它没头,所以从技术上来说我不知道​​X服务器是否会产生其他问题,但我不这么认为。您始终可以配置xorg.conf以使用您想要的驱动程序。或者就此而言:安装Catalyst,但删除X服务器驱动程序文件本身,与OpenCL所需的相同。

我注意到混合供应商系统存在一个问题,但是:AMD的OpenCL驱动程序(ICD)将为libGL.so库进行探索,我想是为了进行OpenCL / OpenGL-interop。如果它找到任何NVIDIA提供的libGL.so,它会混淆并挂起 - 至少在我的机器上。我解决了#34;这通过删除所有libGL.so(我在无头计算服务器上不需要它),但这对您来说可能不是一个可接受的解决方案。也许您可以安排AMD提供的libGL.so优先,可能最后安装AMD驱动程序。