26 Replies Latest reply on Aug 4, 2010 12:44 PM by genaganna

    Just Released: ATI Stream SDK v2.1 w/ OpenCL 1.0 Support

    michael.chu

      http://developer.amd.com/stream

      http://www.amd.com/us/press-releases/Pages/next-gen-fusion-2010may2.aspx

      What’s New in v2.1

      • Support for openSUSE™ 11.2 and Red Hat® Enterprise Linux® 5.4.
      • Support for OpenCL™ / OpenGL® interoperability.
      • Support for OpenCL™ byte addressable stores.
      • Support for OpenCL™ images.
      • Extension: Support for double-precision floating point basic arithmetic in OpenCL™ C kernels.
      • Extension: Support for AMD media operations in OpenCL™
      • Extension: Support for device fission in OpenCL™.
      • Extension: Support for device attribute queries in OpenCL™.
      • Preview Feature: Support for binary OpenCL™ kernels.
      • Additional OpenCL™ samples:
        • HistogramAtomics
        • MatrixMulDouble (under cpp_cl)
        • MatrixMulImage
        • SimpleGL
        • SimpleImage
        • SobelFilterImage (under cpp_cl)
        • URNGNoiseGL
      • Stream KernelAnalyzer 1.5 installer now bundled with the ATI Stream SDK v2.1.
      • Various OpenCL™ compiler and runtime fixes and enhancements.
      • Support for new hardware:
        • ATI Radeon™ HD 5830 GPU
        • ATI Radeon™ HD 5450 GPU
        • ATI FirePro™ V8800 GPU
        • ATI FirePro™ V7800 GPU
        • ATI FirePro™ V5800 GPU
        • ATI FirePro™ V4800 GPU
        • ATI FirePro™ V3800 GPU
        • ATI Mobility Radeon™ HD 5800 Series GPUs
        • ATI Mobility Radeon™ HD 5700 Series GPUs
        • ATI Mobility Radeon™ HD 5600 Series GPUs
        • ATI Mobility Radeon™ HD 5400 Series GPUs
        • ATI FirePro M7820™ GPU
        • ATI FirePro M5800™ GPU
        • Just Released: ATI Stream SDK v2.1 w/ OpenCL 1.0 Support
          achinda99

          Going through SimpleImage example, I see that the SDK supports creating 2D and 3D images.  However, from my understanding, it doesn't currently support writing to these images, making it not possible to currently use images?

          • Just Released: ATI Stream SDK v2.1 w/ OpenCL 1.0 Support
            MicahVillmow
            achinda99,
            2D image writes are supported, 3D image writes are not.
              • Just Released: ATI Stream SDK v2.1 w/ OpenCL 1.0 Support
                Lev

                Were all those bugs from the forum corrected in this release? Like structure compilation bug. As well as other compilation bugs. 

                  • Just Released: ATI Stream SDK v2.1 w/ OpenCL 1.0 Support
                    genetix_

                     

                    Originally posted by: Lev Were all those bugs from the forum corrected in this release? Like structure compilation bug. As well as other compilation bugs. 

                     

                    Would love to know this also.

                    Also how is it that every time ATI updates there's some kind of screw up coming up 100% sure now days for example: NVIDIA GPU in same machine = OpenCL works on clean, but if you add ATI Stream 2.1 up = goodbye ATI OpenCL & goodbye NVIDIA OpenCL replicate and response

                    and what the hell did ATI replace the OpenCL.dll with in installation I wonder. Sure as hell it ain't working for them nor in general. As far I see they unregistered NVIDIA DLL and added some weird dummy replacement where atiocl.dll nor atiocl64.dll won't work either.

                      • Just Released: ATI Stream SDK v2.1 w/ OpenCL 1.0 Support
                        omkaranathan

                        Both Nvidia and ATI SDKs place their OpenCL dll in same location(System32 folder). So its natural that the second one will overwrite the first.

                        Which GPU are you having in the machine?

                        What are the steps you followed and the error messages you are getting?

                         

                          • Just Released: ATI Stream SDK v2.1 w/ OpenCL 1.0 Support
                            genetix_

                             

                            Originally posted by: omkaranathan Both Nvidia and ATI SDKs place their OpenCL dll in same location(System32 folder). So its natural that the second one will overwrite the first.

                             

                            Which GPU are you having in the machine?

                             

                            What are the steps you followed and the error messages you are getting?

                             

                             



                             

                            I am very VERY sure I don't understand what you are asking OpenCL is for 'All devices to work together' not jump loop for 'AMD/ATI or NVIDIA. AMD/ATI Stream SDK 2.01 worked TOGETHER with NVIDIA section of OpenCL, if utilized with separate DLLs which is exactly the point to utilize all known hardware.

                            Which is why whole OpenCL was created as far I know and that is why it is an 'Open Source standard' not ATI standard or NVIDIA standard.

                            So, after that said.

                            What do you meanby 'which' ?

                            and you do not need to 'follow error messages' hell all you need to do is use ATI Stream and every last OpenCL application I have crashes because of the OpenCL.dll replacement. Which introduces 'NVIDIA GPU not found' > which introduces ATI GPU / Cypress not found > which is same as "We just installed unfunctional something to get rid of NVIDIA side installed".

                              • Just Released: ATI Stream SDK v2.1 w/ OpenCL 1.0 Support
                                omkaranathan

                                AMD/ATI Stream SDK 2.01 worked TOGETHER with NVIDIA section of OpenCL, if utilized with separate DLLs which is exactly the point to utilize all known hardware.

                                StreamSDK(samples) will work with nVidia SDK, be it 2.01 or 2.1. There was a bug in SDK 2.01, because of which the installer did not replace/install the OpenCL.dll in System32 folder. The SDK used the OpenCL.dll from Nvidia SDK, which is why it worked fine(seemed to).  

                                all you need to do is use ATI Stream and every last OpenCL application I have crashes because of the OpenCL.dll replacement. Which introduces 'NVIDIA GPU not found' > which introduces ATI GPU / Cypress not found > which is same as "We just installed unfunctional something to get rid of NVIDIA side installed".

                                 

                                I assume you are having an nVidia GPU in your m/c, if that is the case, the StreamSDK should not work for GPU, but will work for CPU without any issues.

                                OpenCL is currently not what it should ideally be, but we are all(be it nVidia/ATI/Khronos) working towards taking it there.  

                                  • Just Released: ATI Stream SDK v2.1 w/ OpenCL 1.0 Support
                                    genetix_

                                     

                                    Well, I agree you with above in full, but I actually found culprit else where. Seems our old driver bug is back:

                                    Catalyst v10.3 [WHQL] *Works with ATI Stream v2.01-v2.1*

                                    Catalyst v10.3a [Beta] *Works with ATI Stream v2.01-v2.1*

                                    Catalyst v10.3b [Beta] *Works Flawless with ATI Stream v2.01-v2.1*

                                    Catalyst v10.4 [WHQL] *Bugs from here to texas on OpenCL clean crash on anything*

                                    Catalyst v10.4a [Beta] *Bugs from here to texas on OpenCL clean crash on anything*

                                    Catalyst "v10.5" [Beta 1] (v8.73) *Bugs from here to texas on OpenCL clean crash on anything*

                                    Catalyst "v10.5" [Beta 2] (v8.74) *Bugs from here to texas on OpenCL clean crash on anything*

                                    Catalyst v10.5 WHQL *Bugs from here to texas on OpenCL clean crash on anything*

                                    The ATI Stream was not the one causing the original. Damn, went through driver by driver in every compination before I noticed in code that display driver is actually failing.

                                    ---------------------------------------------------------------------------------------

                                    well, since noone on AMD seems to have a clue what to do about it after 6 driver versions I can only assume someone has huge CAP on ATI stream development team. Here's the errorous modules.

                                    Module #01:

                                    Faulting application name: myapplication.exe, version: 0.0.0.1, time stamp: 0x4b3153ec
                                    Faulting module name: aticfx32.dll, version: 8.17.10.24, time stamp: 0x4be0d5bb
                                    Exception code: 0xc0000005
                                    Fault offset: 0x00020672
                                    Faulting process id: 0x5e0
                                    Faulting application start time: 0x01cafd06d4d83161
                                    Faulting application path: C:\myapplication.exe
                                    Faulting module path: C:\Windows\system32\aticfx32.dll

                                    Module #02:

                                    Faulting application name: myapplication.exe, version: 0.0.0.1, time stamp: 0x4b3153ec
                                    Faulting module name: aticaldd.dll, version: 6.14.10.636, time stamp: 0x4be0cc31
                                    Exception code: 0xc0000005
                                    Fault offset: 0x00033637
                                    Faulting process id: 0xbb8
                                    Faulting application start time: 0x01cafd08481abed1
                                    Faulting application path: C:\myapplication.exe
                                    Faulting module path: C:\Windows\system32\aticaldd.dll

                                    Same error occures on all GPU tools.. You can run GPU-Z, GPU Caps Viewer, DirectComputeBenchmark. It even screws up on updated FOR 2.1 ATI stream 'GPCBenchmarkOCL' which I consider to be pretty damn advance.

                                    Only solutions:

                                    #1 (application based):

                                     * 'aticaldd.dll' and 'aticfx32.dll' from Catalyst v10.3b driver to application path seems to fix everything else except after this is done. 'DirectCompute' is unavailable from all ATI devices.

                                    #2 (application based):

                                     * 'aticaldd64.dll' from Catalyst v10.3b driver and rename it to 'aticaldd.dll' to application path seems to fix everything.

                                    #3 (system wide):

                                     * Go to %windir%\SysWOW64 > Lookup for 'aticaldd.dll' > rename the file to 'aticaldd32.dll'.

                                    Well, seems the Solution #3 works on new drivers in "all cases". I wonder what happens, if I play x86 game after this change.

                                    I mean will it still find the file?

                                    ---------------------------------------

                                    and update number B..

                                     

                                    Any of the above "solutions" introduces new problem:

                                    * Only CPU(ATI Stream not the 'CPU as OpenCL') is found as OpenCL device (Cypress(HD5850) is no where on device query).

                          • Just Released: ATI Stream SDK v2.1 w/ OpenCL 1.0 Support
                            achinda99

                             

                            Originally posted by: MicahVillmow achinda99, 2D image writes are supported, 3D image writes are not.


                            Hmm, I see that in the SimpleImage example, you copy the data on the creation of the image object versus copying it later.  My program crashes when I try to use clEnqueueWriteImage to actually copy data over.  I believe the code is correct, because it functions fine on NVIDIA devices using their SDK.  Any ideas?

                              • Just Released: ATI Stream SDK v2.1 w/ OpenCL 1.0 Support
                                nou

                                well it is difference betwen write from kernel and write from API.  you can write data int 3D texture with clEnqueueWriteImage(). what you cant is write from kernel.

                                could you post code where it crashed? it can depen for example on image format. and you shoul start new thread about this.

                                • Just Released: ATI Stream SDK v2.1 w/ OpenCL 1.0 Support
                                  genaganna

                                   

                                  Originally posted by: achinda99
                                  Originally posted by: MicahVillmow achinda99, 2D image writes are supported, 3D image writes are not.


                                   

                                  Hmm, I see that in the SimpleImage example, you copy the data on the creation of the image object versus copying it later.  My program crashes when I try to use clEnqueueWriteImage to actually copy data over.  I believe the code is correct, because it functions fine on NVIDIA devices using their SDK.  Any ideas?

                                   

                                  Achinda99,

                                                Please paste your code to reproduce thi issue at our end.

                                • Just Released: ATI Stream SDK v2.1 w/ OpenCL 1.0 Support
                                  n.treutner

                                   

                                  Originally posted by: MicahVillmow achinda99, 2D image writes are supported, 3D image writes are not.


                                  When will the 3D image writes be supported? I'm working on a project, due in 3 months. How likely is it, that I can implement 3D images until I have to finish my project?

                                • Just Released: ATI Stream SDK v2.1 w/ OpenCL 1.0 Support
                                  lomb

                                  This is about the linux 64bit version:

                                  Why are things compiled without build ID???

                                  And why is glew contained in the bundle??

                                  If you ask people to install compat-libstdc++-33 it should be equally easy for them to install

                                  glew, right??? I find duplication like that a major annoyance....  But that might just be me...

                                   

                                  And yes, I do realize this really isn't your problem and you can't do much about it...

                                   

                                   

                                  • Just Released: ATI Stream SDK v2.1 w/ OpenCL 1.0 Support
                                    kang13

                                    is the stream kernel analyzer also working for Linux version of the stream SDK? if not, is there any tool to show me the occupany ratio of the GPU in OpenCL? or how do you ususally get the occupancy number?

                                     

                                    Originally posted by: michael.chu http://developer.amd.com/stream

                                     

                                    http://www.amd.com/us/press-releases/Pages/next-gen-fusion-2010may2.aspx

                                     

                                    What’s New in v2.1

                                     

                                    •  
                                      •  
                                        • ATI Radeon™ HD 5830 GPU
                                        • ATI Radeon™ HD 5450 GPU
                                        • ATI FirePro™ V8800 GPU
                                        • ATI FirePro™ V7800 GPU
                                        • ATI FirePro™ V5800 GPU
                                        • ATI FirePro™ V4800 GPU
                                        • ATI FirePro™ V3800 GPU
                                        • ATI Mobility Radeon™ HD 5800 Series GPUs
                                        • ATI Mobility Radeon™ HD 5700 Series GPUs
                                        • ATI Mobility Radeon™ HD 5600 Series GPUs
                                        • ATI Mobility Radeon™ HD 5400 Series GPUs
                                        • ATI FirePro M7820™ GPU
                                        • ATI FirePro M5800™ GPU
                                    • HistogramAtomics
                                    • MatrixMulDouble (under cpp_cl)
                                    • MatrixMulImage
                                    • SimpleGL
                                    • SimpleImage
                                    • SobelFilterImage (under cpp_cl)
                                    • URNGNoiseGL
                                    • Stream KernelAnalyzer 1.5 installer now bundled with the ATI Stream SDK v2.1.
                                    • Various OpenCL™ compiler and runtime fixes and enhancements.
                                    • Support for new hardware:
                                    • Support for openSUSE™ 11.2 and Red Hat® Enterprise Linux® 5.4.
                                    • Support for OpenCL™ / OpenGL® interoperability.
                                    • Support for OpenCL™ byte addressable stores.
                                    • Support for OpenCL™ images.
                                    • Extension: Support for double-precision floating point basic arithmetic in OpenCL™ C kernels.
                                    • Extension: Support for AMD media operations in OpenCL™
                                    • Extension: Support for device fission in OpenCL™.
                                    • Extension: Support for device attribute queries in OpenCL™.
                                    • Preview Feature: Support for binary OpenCL™ kernels.
                                    • Additional OpenCL™ samples:
                                    • Just Released: ATI Stream SDK v2.1 w/ OpenCL 1.0 Support
                                      MicahVillmow
                                      n.treutner,
                                      You can emulate 3D image writes with 2D image writes. 3D image writes won't be supported until the next release, so I would not base any project/software on it being available until then.