Ich verwende CentOS 6. Mein OpenCL-Programm erkennt meine Grafikkarte nicht als Option und läuft stattdessen einfach auf meiner CPU. Mein Programm versucht, das schnellste Gerät zu finden und zu verwenden, findet aber nur eine Option.
OpenCL Platform 0: AMD Accelerated Parallel Processing
OpenCL Device 0: Intel(R) Core(TM) i7-3612QM CPU @ 2.10GHz Gflops 16.808000
Offenes CL-Gerät: Intel(R) Core(TM) i7-3612QM CPU @ 2,10 GHz
Ich habe mehrere Möglichkeiten gefunden, mich über ein Problem zu informieren. glxinfo gibt mir Folgendes aus:
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 sagt mir, dass ich zwei VGA-Controller habe, was nach meinem Verständnis nie der Fall sein sollte:
lspci -v | grep "VGA-Controller"
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])
(Natürlich möchte ich die zweite verwenden: die Radeon-Grafikkarte)
In meinen Xorg.*.log(s) steht nichts über AMD. Darin steht Folgendes, was vermutlich von Bedeutung ist (verwenden Sie Intel statt AMD als automatisch konfigurierten Treiber?):
[ 31.269] (==) Matched intel as autoconfigured driver 0
Nach alledem bin ich mir ziemlich sicher, dass mein Problem etwas mit meinen Treibern oder dem Fehlen derselben zu tun hat. Ich werde diesen Beitrag aktualisieren, während ich versuche, das Problem zu lösen, aber jede Hilfe wird wahrscheinlich einen Unterschied machen!
Update 1: Ich weiß mit Sicherheit, dass es an meinen Treibern liegt (oder an deren Fehlen) und nicht an meinem Code, da mein genauer Code den Code auf der GPU findet und ausführt.