I'm on a fresh CentOS 5.3 machine. I did the following:
1. ran ati-driver-installer-10-2-x86.x86_64.run
2. installed ati-stream-sdk-v2.01-rhel64.tgz into /opt
3. set up the sym-links to /usr/lib/OpenCL/vendors
4. set LD_LIBRARY_PATH to point to the x86_64 lib directory
The CLInfo program take a while to run, around 12 seconds, so it appears like it's trying really hard to find the hd5870 card. But ultimately it only finds the Intel CPU.
Here's some more info:
coleb@hd5870~$ uname -a
Linux hd5870 2.6.18-128.el5 #1 SMP Wed Jan 21 10:41:14 EST 2009 x86_64 x86_64 x86_64 GNU/Linux
coleb@hd5870~$ cat /etc/issue
CentOS release 5.3 (Final)
Kernel \r on an \m
coleb@hd5870~$ /sbin/lspci
00:00.0 Host bridge: Intel Corporation 5400 Chipset Memory Controller Hub (rev 20)
00:01.0 PCI bridge: Intel Corporation 5400 Chipset PCI Express Port 1 (rev 20)
00:05.0 PCI bridge: Intel Corporation 5400 Chipset PCI Express Port 5 (rev 20)
00:09.0 PCI bridge: Intel Corporation 5400 Chipset PCI Express Port 9 (rev 20)
00:10.0 Host bridge: Intel Corporation 5400 Chipset FSB Registers (rev 20)
00:10.1 Host bridge: Intel Corporation 5400 Chipset FSB Registers (rev 20)
00:10.2 Host bridge: Intel Corporation 5400 Chipset FSB Registers (rev 20)
00:10.3 Host bridge: Intel Corporation 5400 Chipset FSB Registers (rev 20)
00:10.4 Host bridge: Intel Corporation 5400 Chipset FSB Registers (rev 20)
00:11.0 Host bridge: Intel Corporation 5400 Chipset CE/SF Registers (rev 20)
00:15.0 Host bridge: Intel Corporation 5400 Chipset FBD Registers (rev 20)
00:15.1 Host bridge: Intel Corporation 5400 Chipset FBD Registers (rev 20)
00:16.0 Host bridge: Intel Corporation 5400 Chipset FBD Registers (rev 20)
00:16.1 Host bridge: Intel Corporation 5400 Chipset FBD Registers (rev 20)
00:1b.0 Audio device: Intel Corporation 631xESB/632xESB High Definition Audio Controller (rev 09)
00:1c.0 PCI bridge: Intel Corporation 631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (rev 09)
00:1d.0 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (rev 09)
00:1d.1 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (rev 09)
00:1d.2 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (rev 09)
00:1d.3 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (rev 09)
00:1d.7 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset EHCI USB2 Controller (rev 09)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d9)
00:1f.0 ISA bridge: Intel Corporation 631xESB/632xESB/3100 Chipset LPC Interface Controller (rev 09)
00:1f.1 IDE interface: Intel Corporation 631xESB/632xESB IDE Controller (rev 09)
00:1f.2 SATA controller: Intel Corporation 631xESB/632xESB SATA AHCI Controller (rev 09)
00:1f.3 SMBus: Intel Corporation 631xESB/632xESB/3100 Chipset SMBus Controller (rev 09)
05:00.0 VGA compatible controller: ATI Technologies Inc Unknown device 6898
05:00.1 Audio device: ATI Technologies Inc Unknown device aa50
09:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Upstream Port (rev 01)
09:00.3 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express to PCI-X Bridge (rev 01)
0a:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E1 (rev 01)
0a:01.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E2 (rev 01)
0a:02.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E3 (rev 01)
0f:00.0 Ethernet controller: Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper) (rev 01)
0f:00.1 Ethernet controller: Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper) (rev 01)
1f:00.0 SCSI storage controller: LSI Logic / Symbios Logic SAS1068E PCI-Express Fusion-MPT SAS (rev 04)
20:04.0 PCI bridge: PLX Technology, Inc. PEX8112 x1 Lane PCI Express-to-PCI Bridge (rev aa)
20:05.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)
21:00.0 VGA compatible controller: nVidia Corporation GeForce 8400 GS (rev a1)
Are you able to run the CAL samples?
FindNumDevices sample will tell you if the devices are being detected properly.
FindNumDevices doesn't find it either:
coleb@hd5870~$ /opt/ati-stream-sdk-v2.01-rhel64/samples/cal/bin/x86_64/FindNumDevices
Supported CAL Runtime Version: 1.3.185
Found CAL Runtime Version: 1.4.553
Use -? for help
CAL initialized.
Finding out number of devices :-
Device Count = 0
CAL shutdown successful.
Press enter to exit...
I too see the very same problem with Ubuntu 9.04 and HD5870. Experimentally, I've discovered that the GPU will be seen only when I'm logged into a system from a console and having the X server/session running. As soon as I log out from the console the device disappears (from CLInfo).
Is there any way to force the device drivers (or whatever is needed here) to be loaded w/o having the X session from a console?
Thanks!
Thanks gapon, switching to runlevel 5 (turning on the X server) did the trick. I would agree it's kind of weird, and we need to be able to use this from runlevel 3. Our application is targeting clusters of GPU machines.
And in the end, the AMD OpenCL driver doesn't support image objects yet, and my algorithm relies on the locality of a texture cache (otherwise every access would be an uncoalesced memory access).
Oh well, back to using my Tesla.
You must have an X server running to be able to access your GPU.
This limitation does not exist in the NVidia driver.