cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

zkhan
Journeyman III

ATI Stream with NVIDIA GPU

I posted this on the ATI Stream forum, but perhaps I'll have more luck here.

On my Win7 Intel machine, I previously had an ATI Radeon GPU. I could use the ATI Stream SDK to run OpenCL on both the CPU and GPU.

Now I have swapped out my Radeon for GeForce (need to make sure I can support both platforms) and I can't seem to get OpenCL working on both the GPU and CPU.

I need to install the NVIDIA drivers to get OpenCL on the GPU, but obviously they do not support the Intel CPU. When I install the ATI Stream SDK, it somehow conflicts with the NVIDIA installation and I lose OpenCL support on the GPU.

To be more clear: if I install NVIDIA last, I have OpenCL on GPU, but not CPU. If I install ATI Stream last, I have have OpenCL on CPU, but not GPU. I guess the OpenCL.dlls are overwriting each other in the Windows\system32 directory? Isn't one of the goals of OpenCL for me to be able to use these devices concurrently?

Are there steps I can take such that I can have the ATI Stream SDK installed to use OpenCL on the CPU and the NVIDIA driver installed to support OpenCL on the GPU?

0 Likes
13 Replies
nou
Exemplar

which version of nvidia driver do you install and which version of ATI Stream SDK?

0 Likes
zkhan
Journeyman III

Originally posted by: nou which version of nvidia driver do you install and which version of ATI Stream SDK?


NVIDIA: 197.45_desktop_win7_winvista_64bit_english_whql

ATI Stream: ati-stream-sdk-v2.2-vista-win7-64

0 Likes

install newest driver from nvidia page. 197 is pretty old now.

0 Likes
zkhan
Journeyman III

Originally posted by: nou install newest driver from nvidia page. 197 is pretty old now.


I started with the latest NVIDIA drivers (including even trying the 1.1 candidate), but have rolled back to this one as later versions are, in my experience, buggy. I don't think the driver version should be the key factor in co-existence, should it?

0 Likes

yes version is important as there was some changes in ICD client.

0 Likes
zkhan
Journeyman III

Originally posted by: nou yes version is important as there was some changes in ICD client.


Alright, but with 257.21 and 258.19 I have the same problem...

0 Likes

Originally posted by: nou install newest driver from nvidia page. 197 is pretty old now.

 

Don¡'t do that. FW 2XX break OpenCL currently, drivers are bugged ( look at __constant problems at NVIDIA's forums ). Stay with the good old one 197. If you have a new Fermi card you have no option tho.

0 Likes

zkhan,

Install the followong:

ATI SDK 2.2

Nvidia SDK(most suitable)

Nvidia Gpu Driver

Are you able to run CAL Samples/CUDA Samples after that.

0 Likes

Originally posted by: himanshu.gautam zkhan,

Install the followong:

ATI SDK 2.2

Nvidia SDK(most suitable)

Nvidia Gpu Driver

Are you able to run CAL Samples/CUDA Samples after that.

I'm fairly sure I've tried that permutation. Is it not a problem that they both write an OpenCL.dll to the Windows\System32 and Windows\Wow64 folders? Whicever one I install last will have written that file.

0 Likes

hi Zkhan,

I think initially one of the SDKs already made some modifications to the system paths/files that cause the bugs. Now even you try to uninstall them and reinstall the problem may not be solved since the system files/paths were permanently changed. I don't know which one was changed but that my experience. Previously I try to install both SDK on the same computer then the ATI was corrupted due to Nvidia one. Even I try to uninstall the Nvidia SDK and clean the registry files but the ATI SDK still stuck. So my suggestion is you should try to reinstall your OS with a clean Windows version then try the following step, which is working well for me now:

1) If you have two cards on yr system then hookup the monitor(s) too the ATI card

2) Obtain ATI SDK 2.1(not 2.2) and CUDA Toolkit 3.2(developer RC version)

3) Install both of SDKs, no matter which one is installed first.

My cards are ATI 5870 and GTX 480 and they are working well. I tried to run ATI SDK on the system with only GTX 480 and CPU but it did not work so I think to make it possible with ATI SDK without any modification you may need an ATI card in the system.

Rotor

0 Likes

Hi Zkhan,

Many users able to use this combination.  See following link http://forums.amd.com/forum/messageview.cfm?catid=328&threadid=132643&forumid=9.

 

I am also able to do on my laptop. I am able to run OpenCL samples on Intel CPU and Nvidia GPU.

See below for CLInfo.exe information

****************************************************

Number of platforms:                             2
  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_d3d9_sharing cl_nv_d3d10_sharing cl_khr_d3d10_sha
ring cl_nv_d3d11_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll
  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 cl_khr_d3d10_sharing


  Platform Name:                                         NVIDIA CUDA
Number of devices:                               1
  Device Type:                                   CL_DEVICE_TYPE_GPU
  Device ID:                                     4318
  Max compute units:                             2
  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:                 0
  Max clock frequency:                           800Mhz
  Address bits:                                  41511271232700448
  Max memory allocation:                         134217728
  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:                            119078912
  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:                                   00283AD8
  Name:                                          GeForce 8400M GS
  Vendor:                                        NVIDIA Corporation
  Driver version:                                257.21
  Profile:                                       FULL_PROFILE
  Version:                                       OpenCL 1.0 CUDA
  Extensions:                                    cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_d3d9_sharing cl_nv_d3d10_sharing cl_khr_d
3d10_sharing cl_nv_d3d11_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll  cl_khr_global_int32_base_atomics cl_khr_global_in
t32_extended_atomics


  Platform Name:                                         ATI Stream
Number of devices:                               1
  Device Type:                                   CL_DEVICE_TYPE_CPU
  Device ID:                                     4098
  Max compute units:                             2
  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:                           1994Mhz
  Address bits:                                  32
  Max memory allocation:                         536870912
  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:                            1073741824
  Constant buffer size:                          65536
  Max number of constant args:                   8
  Local memory type:                             Global
  Local memory size:                             32768
  Profiling timer resolution:                    69
  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:                                   0312D40C
  Name:                                          Intel(R) Core(TM)2 Duo CPU     T7250  @ 2.00GHz
  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_byte_addressable_store cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_attribute_query cl_amd_prin
tf cl_khr_d3d10_sharing

*****************************************************

 

0 Likes

Originally posted by: zkhan

 

I'm fairly sure I've tried that permutation. Is it not a problem that they both write an OpenCL.dll to the Windows\System32 and Windows\Wow64 folders? Whicever one I install last will have written that file.

 

It can be a problem, but only when the two installers install different versions of the ICD. I use an ATI card as my primary and recently installed a cheap nVidia card to be able to check compatibility. The result of installing the most recent non-beta nVidia drivers was that OpenCL.dll no longer had entry points for OpenCL 1.1 functions. It was easily fixed by telling the ATI driver to repair itself from the uninstall menu though.

Other than that, having cards from different vendors appears to be unproblematic.

I'm on a Windows 7 AMD machine.

 

 

0 Likes
nuesha
Journeyman III

Originally posted by: nou install newest driver from nvidia page. 197 is pretty old now.

 

 

i install GeForce 9900 GT..

0 Likes