cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

coleb
Journeyman III

OpenCL can't find HD5870 card

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)

coleb@hd5870~$ /opt/ati-stream-sdk-v2.01-rhel64/samples/opencl/bin/x86_64/CLInfo 
Number of platforms: 1
  Plaform Profile: FULL_PROFILE
  Plaform Version: OpenCL 1.0 ATI-Stream-v2.0.1
  Plaform Name: ATI Stream
  Plaform Vendor: Advanced Micro Devices, Inc.
  Plaform Extensions: cl_khr_icd
  Plaform Name: ATI Stream
Number of devices: 1
  Device Type: CL_DEVICE_TYPE_CPU
  Device ID: 4098
  Max compute units: 4
  Max work items dimensions: 3
    Max work items[0]: 1024
    Max work items[1]: 1024
    Max work items[2]: 1024
  Max work group size: 1024
  Preferred vector width char: 16
  Preferred vector width short: 8
  Preferred vector width int: 4
  Preferred vector width long: 2
  Preferred vector width float: 4
  Preferred vector width double: 0
  Max clock frequency: 1600Mhz
  Address bits: 64
  Max memeory allocation: 1073741824
  Image support: No
  Max size of kernel argument: 4096
  Alignment (bits) of base address: 32768
  Minimum alignment (bytes) for any datatype: 128
  Single precision floating point capability
    Denorms: Yes
    Quiet NaNs: Yes
    Round to nearest even: Yes
    Round to zero: No
    Round to +ve and infinity: No
    IEEE754-2008 fused multiply-add: No
  Cache type: Read/Write
  Cache line size: 64
  Cache size: 65536
  Global memory size: 3221225472
  Constant buffer size: 65536
  Max number of constant args: 8
  Local memory type: Global
  Local memory size: 32768
  Profiling timer resolution: 1
  Device endianess: Little
  Available: Yes
  Compiler available: Yes
  Execution capabilities:  
    Execute OpenCL kernels: Yes
    Execute native function: No
  Queue properties:  
    Out-of-Order: No
    Profiling : Yes
  Platform ID: 0x2ac17c6394a8
  Name: Intel(R) Xeon(R) CPU           E5205  @ 1.86GHz
  Vendor: GenuineIntel
  Driver version: 1.0
  Profile: FULL_PROFILE
  Version: OpenCL 1.0 ATI-Stream-v2.0.1
  Extensions: cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_byte_addressable_store 
Any hints to getting the HD5870 card recognized?


0 Likes
6 Replies
omkaranathan
Journeyman III

Are you able to run the CAL samples?

FindNumDevices sample will tell you if the devices are being detected properly.

0 Likes

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...



0 Likes

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!

0 Likes

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.  

0 Likes

You must have an X server running to be able to access your GPU. 

0 Likes

This limitation does not exist in the NVidia driver. 

0 Likes