I have two GPUs on my workstation:
/sbin/lspci
06:00.0 VGA compatible controller: nVidia Corporation GT200GL [Quadro FX 5800] (rev a1)
07:00.0 VGA compatible controller: ATI Technologies Inc Unknown device 6898
OS:CentOS release 5.5
After installed ATI driver and ati-stream-sdk-v2.2-lnx64, I can successfully run HelloCL and CLInfo, but cannot run others like ./BinarySearch. Always get error:
Error: clCreateContextFromType failed. Error code : CL_DEVICE_NOT_FOUND
========================
./CLInfo
Number of platforms: 2
Platform Profile: FULL_PROFILE
Platform Version: OpenCL 1.1 ATI-Stream-v2.2 (302)
Platform Name: ATI Stream
Platform Vendor: Advanced Micro Devices, Inc.
Platform Extensions: cl_khr_icd cl_amd_event_callback
Platform Profile: FULL_PROFILE
Platform Version: OpenCL 1.0 CUDA 3.1.1
Platform Name: NVIDIA CUDA
Platform Vendor: NVIDIA Corporation
Platform Extensions: cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll
========================
How can I solve this problem
Thanks replying.
do you install catalyst? and did CLInfo report GPU device or only CPU? becuase samples default run on GPU. you need run them with -device cpu parameter.
I have installed catalyst. Without installing catalyst, I cannot compile the samples.
CLInfo only report GPU devices: both NVIDIA and ATI.
It runs well with -device cpu parameter, but cannot run on gpu.
how can it run on CPU device when CLInfo report only GPU? what ATI GPU do you have?
duanrb,
please post the complete clInfo output.
Some other people also faced problems with ATI+NVIDIA Gpu.These links might help you:
http://forums.amd.com/forum/messageview.cfm?catid=328&threadid=132643&enterthread=y
http://forums.amd.com/forum/messageview.cfm?catid=390&threadid=139508&forumid=9
./CLInfo
Number of platforms: 2
Platform Profile: FULL_PROFILE
Platform Version: OpenCL 1.1 ATI-Stream-v2.2 (302)
Platform Name: ATI Stream
Platform Vendor: Advanced Micro Devices, Inc.
Platform Extensions: cl_khr_icd cl_amd_event_callback
Platform Profile: FULL_PROFILE
Platform Version: OpenCL 1.0 CUDA 3.1.1
Platform Name: NVIDIA CUDA
Platform Vendor: NVIDIA Corporation
Platform Extensions: cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll
Platform Name: ATI Stream
Number of devices: 1
Device Type: CL_DEVICE_TYPE_CPU
Device ID: 4098
Max compute units: 16
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: 1596Mhz
Address bits: 64
Max memory allocation: 1073741824
Image support: No
Max size of kernel argument: 4096
Alignment (bits) of base address: 1024
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: Yes
Round to +ve and infinity: Yes
IEEE754-2008 fused multiply-add: No
Cache type: Read/Write
Cache line size: 64
Cache size: 32768
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: 999848
Device endianess: Little
Available: Yes
Compiler available: Yes
Execution capabilities:
Execute OpenCL kernels: Yes
Execute native function: Yes
Queue properties:
Out-of-Order: No
Profiling : Yes
Platform ID: 0x2add11dbfb20
Name: Intel(R) Xeon(R) CPU W5590 @ 3.33GHz
Vendor: GenuineIntel
Driver version: 2.0
Profile: FULL_PROFILE
Version: OpenCL 1.1 ATI-Stream-v2.2 (302)
Extensions: cl_amd_fp64 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 cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_attribute_query cl_amd_printf
Passed!
Platform Name: NVIDIA CUDA
Number of devices: 1
Device Type: CL_DEVICE_TYPE_GPU
Device ID: 4318
Max compute units: 30
Max work items dimensions: 3
Max work items[0]: 512
Max work items[1]: 512
Max work items[2]: 64
Max work group size: 512
Preferred vector width char: 1
Preferred vector width short: 1
Preferred vector width int: 1
Preferred vector width long: 1
Preferred vector width float: 1
Preferred vector width double: 1
Max clock frequency: 1296Mhz
Address bits: 32
Max memory allocation: 1073659904
Image support: Yes
Max number of images read arguments: 128
Max number of images write arguments: 8
Max image 2D width: 8192
Max image 2D height: 8192
Max image 3D width: 2048
Max image 3D height: 2048
Max image 3D depth: 2048
Max samplers within kernel: 16
Max size of kernel argument: 4352
Alignment (bits) of base address: 256
Minimum alignment (bytes) for any datatype: 16
Single precision floating point capability
Denorms: No
Quiet NaNs: Yes
Round to nearest even: Yes
Round to zero: Yes
Round to +ve and infinity: Yes
IEEE754-2008 fused multiply-add: Yes
Cache type: None
Cache line size: 0
Cache size: 0
Global memory size: 4294639616
Constant buffer size: 65536
Max number of constant args: 9
Local memory type: Scratchpad
Local memory size: 16384
Profiling timer resolution: 1000
Device endianess: Little
Available: Yes
Compiler available: Yes
Execution capabilities:
Execute OpenCL kernels: Yes
Execute native function: No
Queue properties:
Out-of-Order: Yes
Profiling : Yes
Platform ID: 0x1e8392f0
Name: Quadro FX 5800
Vendor: NVIDIA Corporation
Driver version: 256.35
Profile: FULL_PROFILE
Version: OpenCL 1.0 CUDA
Extensions: cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll 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_fp64
Error : atomics mismatch!
Error : Bytes mismatch!
Error : glSharing mismatch!
Error : images mismatch!
Error : printf mismatch!
Error : deviceAttributeQuery mismatch!
Failed!
According to the lspci output, the ATI GPU should be Radeon HD 5800 Series.
/sbin/lspci | grep ATI
07:00.0 VGA compatible controller: ATI Technologies Inc Unknown device 6898
07:00.1 Audio device: ATI Technologies Inc Cypress HDMI Audio [Radeon HD 5800 Series]
so CLInfo report nVidia GPU and Intel CPU so it do not see ATI GPU. this is driver related issue. try run FindNumDevices from CAL samples of ATI SDK. most likely it will find 0 devices. that mean driver is not installed corectly.
yes you are right, nou. Do I need to reinstall ATI driver? I tried reinstalling it yesterday. Did I miss something?
./FindNumDevices
Supported CAL Runtime Version: 1.3.185
Found CAL Runtime Version: 1.4.739
Use -? for help
CAL initialized.
Finding out number of devices :-
Device Count = 0
CAL shutdown successful.
Press enter to exit...
you must have fglrx in xorg.conf so Xorg will load driver. and monitor plug into ATI card.
Is it necessary that monitor plug into ATI card? Because the server is on a remote site. I cannot do it for now. is there another solution without plugging monitor into ATI card?
on linux it is not necessary. but running Xserver is necessary with properly configured xorg.con throug aticonfig --initial
I have run the command: aticonfig --initial
but still doesn't work
did Xserver running and logged in under some user.
export DISPLAY=:0 to gain access to xsession and GPU. you must be logged in as same user as to X session.
best what you can is first started it localy with attached monitor and then remotely.
I have similar issues:
I can reach the server station with an Ati Radeon and a geforce only remotely.
When i am the only user connected on say pts/0 , i can only see the Intel CPU with OpenCL.
After root connet in X (the root can physically connect the station) so the xserver is running, the root sees the 3 devices (Intel CPU + Ati GPU + Nvidia GPU ) whereas i can only see Intel CPU and Nvidia GPU.
Is there a way for me to use Ati card ?
Thank you very much for your time
ok sorry for having posted, re reading nou's post solved it, it works if:
* somebody logged me in Xsession
* i connect by ssh and export DISPLAY=:0
What do you mean that Xserver running and logged in under some user?
Do you mean to be logged in as root as to X session?
I still cannot see the devices. Device Count = 0
Thanks a lot for your time.
i mean logged into Xsession like normal desctop user witk keyboard and monitor. then you can log in as same user export DISPLAY and then you can execute OpenCL app remotely.
How to logged into Xsesssion like normal destop user with keyboard and monitor. what're the commands? thanks
Originally posted by: duanrb How to logged into Xsesssion like normal destop user with keyboard and monitor. what're the commands? thanks
Following document could help you
http://developer.amd.com/gpu_assets/App_Note-Running_ATI_Stream_Apps_Remotely.pdf