Hello, I have machine with 4 GPUs Radeon HD 6990 with OS Linux CentOS 5.7 x86_64. I
Installed AMD software is:
Catalyst: fglrx64_p_i_c-8.93-1
SDK: AMD-APP-SDK-v2.6 (5.4)
And problem is that sample opencl program don't find the GPU device, and run only on CPU
GPU not found. Falling back to CPU device
Platform found : Advanced Micro Devices, Inc.
clinfo tool shows only CL_DEVICE_TYPE_CPU device type.
There was auto created only one device /dev/ati/card0 in system, and i manually created device files for all card, but it not helps me.
OS is running in 3 runlevel without started X11 server
Tested program:
# ldd /opt/AMDAPP/samples/opencl/bin/x86_64/AESEncryptDecrypt
linux-vdso.so.1 => (0x00007fff311fd000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b018fe43000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002b019005e000)
libOpenCL.so.1 => /usr/lib64/libOpenCL.so.1 (0x00002b0190263000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002b0190469000)
libm.so.6 => /lib64/libm.so.6 (0x00002b0190769000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002b01909ed000)
libc.so.6 => /lib64/libc.so.6 (0x00002b0190bfb000)
/lib64/ld-linux-x86-64.so.2 (0x00002b018fc25000)
# rpm -qf /usr/lib64/libOpenCL.so.1
fglrx64_p_i_c-8.93-1
/etc/OpenCL/vendors/amdocl64.icd and /usr/lib64/libamdocl64.so are present
Additional info:
# uname -r
2.6.18-274.el5
# aticonfig --list-adapters
* 0. 04:00.0 AMD Radeon HD 6900 Series
1. 05:00.0 AMD Radeon HD 6900 Series
2. 08:00.0 AMD Radeon HD 6900 Series
3. 09:00.0 AMD Radeon HD 6900 Series
4. 85:00.0 AMD Radeon HD 6900 Series
5. 86:00.0 AMD Radeon HD 6900 Series
6. 89:00.0 AMD Radeon HD 6900 Series
7. 8a:00.0 AMD Radeon HD 6900 Series
Kernel messages:
fglrx: module license 'Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY' taints kernel.
[fglrx] Maximum main memory to use for locked dma buffers: 23553 MBytes.
[fglrx] vendor: 1002 device: 671d count: 1
[fglrx] vendor: 1002 device: 671d count: 2
[fglrx] vendor: 1002 device: 671d count: 3
[fglrx] vendor: 1002 device: 671d count: 4
[fglrx] vendor: 1002 device: 671d count: 5
[fglrx] vendor: 1002 device: 671d count: 6
[fglrx] vendor: 1002 device: 671d count: 7
[fglrx] vendor: 1002 device: 671d count: 8
[fglrx] ioport: bar 4, base 0x5000, size: 0x100
[fglrx] ioport: bar 4, base 0x5000, size: 0x100
PCI: Enabling device 0000:04:00.0 (0000 -> 0003)
ACPI: PCI Interrupt 0000:04:00.0 -> GSI 16 (level, low) -> IRQ 169
PCI: Setting latency timer of device 0000:04:00.0 to 64
[fglrx] ioport: bar 4, base 0x6000, size: 0x100
ACPI: PCI Interrupt 0000:05:00.0 -> GSI 16 (level, low) -> IRQ 169
PCI: Setting latency timer of device 0000:05:00.0 to 64
[fglrx] ioport: bar 4, base 0x7000, size: 0x100
PCI: Enabling device 0000:08:00.0 (0000 -> 0003)
ACPI: PCI Interrupt 0000:08:00.0 -> GSI 16 (level, low) -> IRQ 169
PCI: Setting latency timer of device 0000:08:00.0 to 64
[fglrx] ioport: bar 4, base 0x8000, size: 0x100
ACPI: PCI Interrupt 0000:09:00.0 -> GSI 16 (level, low) -> IRQ 169
PCI: Setting latency timer of device 0000:09:00.0 to 64
[fglrx] ioport: bar 4, base 0xb000, size: 0x100
PCI: Enabling device 0000:85:00.0 (0000 -> 0003)
ACPI: PCI Interrupt 0000:85:00.0 -> GSI 16 (level, low) -> IRQ 169
PCI: Setting latency timer of device 0000:85:00.0 to 64
[fglrx] ioport: bar 4, base 0xc000, size: 0x100
ACPI: PCI Interrupt 0000:86:00.0 -> GSI 16 (level, low) -> IRQ 169
PCI: Setting latency timer of device 0000:86:00.0 to 64
[fglrx] ioport: bar 4, base 0xd000, size: 0x100
PCI: Enabling device 0000:89:00.0 (0000 -> 0003)
ACPI: PCI Interrupt 0000:89:00.0 -> GSI 16 (level, low) -> IRQ 169
PCI: Setting latency timer of device 0000:89:00.0 to 64
[fglrx] ioport: bar 4, base 0xe000, size: 0x100
ACPI: PCI Interrupt 0000:8a:00.0 -> GSI 16 (level, low) -> IRQ 169
PCI: Setting latency timer of device 0000:8a:00.0 to 64
[fglrx] Driver built-in PAT support is enabled successfully
[fglrx] module loaded - fglrx 8.93.4 [Dec 5 2011] with 8 minors
just to be sure. is xserver running and with env var DISPLAY=:0??
There are several things you can do:
Thanks. It helps me.
Unexpectedly, that the OpenCL library and card sensor info via atitool are so tied to running X-server.