13 Replies Latest reply on Sep 20, 2010 4:45 PM by Illusio

    ATI Stream with NVIDIA GPU

    zkhan

      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?

        • ATI Stream with NVIDIA GPU
          nou

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

            • ATI Stream with NVIDIA GPU
              zkhan

               

              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

                • ATI Stream with NVIDIA GPU
                  nou

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

                    • ATI Stream with NVIDIA GPU
                      zkhan

                       

                      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?

                      • ATI Stream with NVIDIA GPU
                        bubu

                         

                        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.

                          • ATI Stream with NVIDIA GPU
                            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.

                              • ATI Stream with NVIDIA GPU
                                zkhan

                                 

                                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.

                                  • ATI Stream with NVIDIA GPU
                                    rotor

                                    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

                                      • ATI Stream with NVIDIA GPU
                                        genaganna

                                        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

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

                                         

                                      • ATI Stream with NVIDIA GPU
                                        Illusio

                                         

                                        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.

                                         

                                         

                                  • ATI Stream with NVIDIA GPU
                                    nuesha

                                     

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

                                     

                                     

                                    i install GeForce 9900 GT..