我正在运行 CentOS 6。我的 OpenCL 程序没有检测到我的显卡作为选项,而是仅在我的 CPU 上运行。我的程序尝试查找并使用最快的设备,但只找到一个选项。
OpenCL Platform 0: AMD Accelerated Parallel Processing
OpenCL Device 0: Intel(R) Core(TM) i7-3612QM CPU @ 2.10GHz Gflops 16.808000
开放 CL 设备:Intel(R) Core(TM) i7-3612QM CPU @ 2.10GHz
我找到了多种方法来告诉自己存在问题。 glxinfo 给了我以下信息:
name of display: :0.0
Xlib: extension "GLX" missing on display ":0.0".
Xlib: extension "GLX" missing on display ":0.0".
Xlib: extension "GLX" missing on display ":0.0".
Xlib: extension "GLX" missing on display ":0.0".
Segmentation fault (core dumped)
lspci 告诉我,我有两个 VGA 控制器,根据我的理解,这种情况永远不应该出现:
lspci -v | grep "VGA 控制器"
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller])
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Thames [Radeon HD 7550M/7570M/7650M] (prog-if 00 [VGA controller])
(显然我想使用的是第二个;Radeon显卡)
我的 Xorg.*.log 没有提及任何有关 AMD 的内容。它指出了以下内容,我认为这很重要(使用 intel 作为自动配置驱动程序而不是 amd?):
[ 31.269] (==) Matched intel as autoconfigured driver 0
综上所述,我相当确定我的问题与我的驱动程序或缺乏驱动程序有关。当我尝试解决问题时,我将更新这篇文章,但任何帮助都可能会有所作为!
更新 1:我知道事实上这是我的驱动程序(或缺少驱动程序),而不是我的代码,因为我的确切代码确实在 GPU 上找到并运行了代码。