46 Replies Latest reply on Oct 21, 2014 9:36 PM by oscarbarenys1

    OpenCL™ 2.0 is here!

    bsp2020

      Unfortunately, it is from Intel. When will AMD release OpenCL 2.0 support for AMD APU?

       

      OpenCL™ 2.0 is here! Download the Release 2 of Intel® SDK for OpenCL™ Applications 2014

        • Re: OpenCL™ 2.0 is here!
          maxdz8

          That would be about time I suppose.

          I'm eagerly waiting a driver refresh for Tonga with accompanying goodies for everyone. Hopefully soon.

          • Re: OpenCL™ 2.0 is here!

            Brian,

             

            We expect to deliver OpenCL 2.0 support with the next release of the Catalyst driver, sometime this fall. We can't make specific date predictions for engineering work in progress.

            1 of 1 people found this helpful
            • Re: OpenCL™ 2.0 is here!
              cusa123
              Jtrudeau

              Desgraciadamente esta actualizacion solamnte se aplica a Tonga y apus o arquitectura gcn en general.

              ______

              Jtrudeau

              Unfortunately this solamnte upgrade applies to Tonga and apus or gcn architecture in general.

              • Re: OpenCL™ 2.0 is here!
                bsp2020

                OpenCL 2.0 is hear from AMD.

                http://support.amd.com/en-us/kb-articles/Pages/OpenCL2-Driver.aspx

                 

                Any body wants to try it and let us know how good it is?

                 

                Also, it claims support for

                • Shared Virtual Memory – Coarse Grain

                 

                Does this mean fine grain SVM is not yet supported? Will it be supported on all of the hardware that support OCL2.0?

                  • Re: OpenCL™ 2.0 is here!
                    nou

                    Does fine grain SVM need HSA? Then in maybe in upcoming version of driver http://www.phoronix.com/scan.php?page=news_item&px=MTc5NjY

                    • Re: OpenCL™ 2.0 is here!

                      AMD has released its first fully-functional OpenCL 2.0 driver aimed at early adopter developers.  We’re not broadly promoting this driver because we have a performance-optimized driver coming out shortly and we suggest you wait for that version.  We plan to release a new SDK when the updated driver becomes available to help developers come up to speed.  That said, we welcome any feedback from the community who are interested in test-driving this version of the driver.

                       

                      As for the SVM capabilities, this driver fully supports the core OpenCL 2.0 features - including course-grained SVM.  AMD has not yet publicly disclosed plans for OpenCL 2.0 optional features - stay tuned for further details.

                        • Re: OpenCL™ 2.0 is here!
                          chesterkuo

                          Can this new driver co-work with HSA driver if i run on AMD A10-7850K ?? since on the other thread , the AMD developer claim HSA driver will prevent Catalyst driver loaded.

                           

                          Or this limitation had been removed ?? Comment ?

                            • Re: OpenCL™ 2.0 is here!

                              Chester, not really sure what other thread you mean. If you have a link to that particular thread on HSA, I’d like to see what was being said about the HSA driver, and I'll pass that on to the technical folks behind me. Maybe we can get you an answer.

                                  • Re: OpenCL™ 2.0 is here!

                                    The open source radeon driver is not compatible with the closed source Catalyst.  The information in those threads is correct.

                                      • Re: OpenCL™ 2.0 is here!
                                        chesterkuo

                                        What's best development model if using A10-7850K APU here ??

                                         

                                        Can we install AMD's Catalyst driver that support OpenCL 2.0 and development opencl program on top of it ?? or we can only rely on HSA kernel driver (amdkfd) and translate opencl code to HSAIL and run on top of it ??

                                          • Re: OpenCL™ 2.0 is here!
                                            humasama

                                            I have installed HSA driver from github(https://github.com/HSAFoundation), but how to translate openCL code  to HSAIL? where can I get the HSAIL compiler ?

                                              • Re: OpenCL™ 2.0 is here!
                                                chesterkuo

                                                Hi Humasama,

                                                 

                                                You can try following binary from AMD.

                                                HSAFoundation/CLOC · GitHub

                                                 

                                                 

                                                ----

                                                Chester

                                                  • Re: OpenCL™ 2.0 is here!
                                                    humasama

                                                    Hi Chesterkuo,

                                                    I use CLOC with HSAIL-HLC-Stable  and vector_copy.cl from CLOC to generate vector_copy.hsail and vector_copy.brig , vector_copy.hsail is different from the one in HSA-Runtime-AMD, and the new one can't work correctly with vector_copy.c in HSA-Runtime-AMD, I mean I can't pass arguments to kernel. I don't know why...

                                                     

                                                     

                                                    vector_copy.hsail in HSA-Runtime-AMD:

                                                    prog kernel &__vector_copy_kernel(

                                                        kernarg_u64 %a,

                                                        kernarg_u64 %b)

                                                     

                                                    the one CLOC generates:

                                                    prog kernel &__OpenCL_vector_copy_kernel(

                                                        kernarg_u64 %global_offset_0,

                                                        kernarg_u64 %global_offset_1,

                                                        kernarg_u64 %global_offset_2,

                                                        kernarg_u64 %printf_buffer,

                                                        kernarg_u64 %vqueue_pointer,

                                                        kernarg_u64 %aqlwrap_pointer,

                                                        kernarg_u64 %in,

                                                        kernarg_u64 %out)

                                                      • Re: OpenCL™ 2.0 is here!
                                                        chesterkuo

                                                        here is hsail file generated from my env, and it look likes similar with HSA-Runtime-AMD case.

                                                         

                                                        BTW, i'm using the HSAIL-HLC-Development code base instead of HSAIL-HLC-Stable, not sure if this had different results.

                                                         

                                                         

                                                        =======

                                                        prog kernel &__OpenCL_vector_copy_kernel(

                                                          kernarg_u64 %in,

                                                          kernarg_u64 %out)

                                                        {

                                                          pragma "AMD RTI", "ARGSTART:__OpenCL_vector_copy_kernel";

                                                          pragma "AMD RTI", "version:3:1:104";

                                                          pragma "AMD RTI", "device:generic";

                                                          pragma "AMD RTI", "uniqueid:1024";

                                                          pragma "AMD RTI", "function:1:0";

                                                          pragma "AMD RTI", "memory:64bitABI";

                                                          pragma "AMD RTI", "uavid:8";

                                                          pragma "AMD RTI", "privateid:8";

                                                          pragma "AMD RTI", "ARGEND:__OpenCL_vector_copy_kernel";

                                                         

                                                        @__OpenCL_vector_copy_kernel_entry:

                                                          // BB#0: // %entry

                                                          workitemabsid_u32 $s0, 0;

                                                          cvt_s64_s32 $d0, $s0;

                                                          shl_u64 $d0, $d0, 2;

                                                          ld_kernarg_align(8)_width(all)_u64 $d1, [%out];

                                                          add_u64 $d1, $d1, $d0;

                                                          ld_kernarg_align(8)_width(all)_u64 $d2, [%in];

                                                          add_u64 $d0, $d2, $d0;

                                                          ld_global_u32 $s0, [$d0];

                                                          st_global_u32 $s0, [$d1];

                                                          ret;

                                                        };

                                                        • Re: OpenCL™ 2.0 is here!
                                                          siu

                                                          The issue is that if you use HSAIL-HLC-Stable, then you'll have to compile vector_copy.c with -DDUMMY_ARGS.   If you use HSAIL-HLC-Development instead, then you shall not define the DUMMY_ARGS.  That is due to a change to the kernel arg structure and we are removing the dummy args in the newer compiler (development).


                                                          If you encounter other issues with the HSA driver or with the CLOC tool in the future, please feel free to open a new issue on HSA Foundation's github.

                                          • Re: OpenCL™ 2.0 is here!

                                            Just as a heads up, a potential resource for HSA driver related discussion, since this is all pretty bleeding edge.


                                            The HSA Foundation GitHub is located here: https://github.com/HSAFoundation. There are repositories for tools, drivers, etc. You can ask a question or raise an issue with the developers working on the code.


                                              • Re: OpenCL™ 2.0 is here!
                                                sarobi

                                                So even this latest closed source OpenCL 2.0 driver doesn't work with the HSL stack from github yet and can only be used with the open source driver? That's still kind of an inconvenient situation... Any plans on unifying that?

                                                  • Re: OpenCL™ 2.0 is here!

                                                    The HSA stack on Github is an early pre-production release and not yet fully integrated with our OpenCL solution.  But thanks for the feedback, we are aligned on where this needs to go in the future.  We’ll keep you posted as soon as we’re ready to make announcements on this front.

                                                      • Re: OpenCL™ 2.0 is here!
                                                        sarobi

                                                        I am still surprised AMD choose to prioritize compability with the open source driver instead of their Catalyst driver first. The latter one would have made more sense. Now we have the situation to choose either the HSA stack or an up-to-date OpenCL/OpenGL driver but we can't utilize both. It looks like both teams work in different directions.

                                                          • Re: OpenCL™ 2.0 is here!
                                                            gstoner

                                                            Sascha

                                                             

                                                            I understand your short term frustration,.  Catalyst is our Production Driver that is relied on by our larger base of  consumer and business customers, and we felt it better not to disrupt these customer while we are in the early stages of deployment of HSA.  As Jim said we are early in Pre 1.0 release, we felt it was better to engage the developer community early so they can have impact on what we deliver in 1.0 and post 1.0

                                                             

                                                            Where we are at right now: The HSA foundation has a public alpha of HSA 1.0 software which released in Aug,  Right now  we are scheduled to be posting a public beta for HSA 1.0.  We still have some release process hurdles to cross but it will likely be within weeks, not months. We made a decision early on that we would open source all the major components of the HSA software stack. We really want to open up what is possible with GP/GPU computing.

                                                             

                                                            These slides show the direction we are going with our Linux Driver,  We are moving to common kernel for the open source and Post Catalyst era Proprietary Driver. This should clean up the user experience with our Linux driver and offer a much bigger lift in performance for compute and graphics for both drivers. The  HSA runtime is a core component of this transition for both the Open and Closed drivers.

                                                            [Phoronix] The Slides Announcing The New "AMDGPU" Kernel Driver


                                                            We appreciate your patience as we roll out a new foundation for GP/GPU computing that will benefit OpenCL and so many more possible languages.

                                                            1 of 1 people found this helpful
                                                    • Re: OpenCL™ 2.0 is here!
                                                      oscarbarenys1

                                                      Some questions about that exciting release:

                                                      1) Driver release notes on GPU support are somewhat not clear..

                                                      for example it says it supports "AMD Radeon™ HD 7000 Series" for driver doesn't  work with a 7950 card.. the device id isn't present on the inf file..

                                                      also even after using a modded driver adding this device id we get as some people say 1.2 support via clinfo on CL_DEVICE_VERSION..

                                                      Anyway just to be concise does GCN 1.0 products as Tahiti cards (7950 and 7970) will support full OCL 2.0?

                                                      As seems GCN 1.1 will support it such as Hawaii (290x) and GCN 1.2 will support it (285 Tonga)..

                                                      2) AMD supports SPIR extension but on August SPIR 2 provisional spec was released bringing SPIR to support all OCL 2 features like dynamic parallelism.. does this AMD OCL 2 driver support experimental SPIR 2? if not it will be in final OCL 2 drivers?

                                                      3) seems even some cards doesn't up supporting full OCL 2 they could support some extensions that expose some parts of it like the MSAA textures extension that is integrated in OCL 2.. AMD could expose at least that extension on Tahiti cards?

                                                      4) One very interesting extension in OpenCL implementation is the "OpenCL C++ static kernel language extension".. now OpenCL 2 supporting some overloading and more C++ like support like atomics is this static kernel language extension still supported or extended in some way interoperate with OCL 2.0 kernel language or has been removed?

                                                       

                                                      thanks..

                                                        • Re: Re: OpenCL™ 2.0 is here!

                                                          Oscar, I checked with some folks....


                                                          1) Driver release notes on GPU support are somewhat not clear..

                                                          Yeah, I'm hammering on some people internally to clean this up. My apologies for incomplete/inaccurate information on what devices are supported.

                                                          Anyway just to be concise does GCN 1.0 products as Tahiti cards (7950 and 7970) will support full OCL 2.0?

                                                          Requires GCN 1.1. But a more accurate list of precisely which devices are supported is in the works.

                                                          2) AMD supports SPIR extension but on August SPIR 2 provisional spec was released bringing SPIR to support all OCL 2 features like dynamic parallelism.. does this AMD OCL 2 driver support experimental SPIR 2? if not it will be in final OCL 2 drivers?

                                                          SPIR 2.0 is not currently supported.  Only OpenCL 1.2 features are currently supported by AMD’s SPIR extension (SPIR version 1.2)

                                                          3) seems even some cards doesn't up supporting full OCL 2 they could support some extensions that expose some parts of it like the MSAA textures extension that is integrated in OCL 2.. AMD could expose at least that extension on Tahiti cards?

                                                          Thanks for the feedback.  The current implementation supports only core OpenCL 2.0 APIs, but we will consider this request for future drivers.

                                                          4) One very interesting extension in OpenCL implementation is the "OpenCL C++ static kernel language extension".. now OpenCL 2 supporting some overloading and more C++ like support like atomics is this static kernel language extension still supported or extended in some way interoperate with OCL 2.0 kernel language or has been removed?

                                                          The current OpenCL 2.0 implementation supports only OpenCL 2.0 core features.  Further extensions are under consideration. Again, thanks for the feedback.  Great to hear that extensions such as C++ static kernel language features are important to developers.

                                                          1 of 1 people found this helpful
                                                      • Re: OpenCL™ 2.0 is here!
                                                        gabest

                                                        You sure this is the right driver? It keeps saying 14.4 in CCC, and OpenCL 1.2 in CodeXL/System Info. I've done the complete uninstall before updating to this one.

                                                          • Re: OpenCL™ 2.0 is here!

                                                            gabest, likely the same kind of problem as jiayu hu - CodeXL doesn't support OpenCL 2.0 yet. This might be caused by something else. e.g. OpenCL 2.0 only works on 64-bit hardware. But I suspect you've already considered issues like that.

                                                              • Re: OpenCL™ 2.0 is here!
                                                                gabest

                                                                The opencl.dll under system32/syswow64 does not even have the 2.0 functions exported. I don't really know who it belongs to, property sheet says khronos, but it may have been installed by Windows itself long time ago. The driver may be 2.0 compatible, but there is no way to test it currently.

                                                          • Re: OpenCL™ 2.0 is here!
                                                            humasama

                                                            I have installed this new driver from AMD on Kaveri, but I still can't use SVM features, like clSVMAlloc(...). Does the latest SDK 2.9.1 support SVM features?

                                                              • Re: OpenCL™ 2.0 is here!

                                                                SDK 2.9.1 does not support OpenCL 2.0. Hence my initial suggestion that for most people, waiting for an integrated solution is probably the wisest path forward. In the interest of making this as easy as possible, we are focused on getting the integrated solution out and an updated SDK as quickly as we can.

                                                                  • Re: OpenCL™ 2.0 is here!
                                                                    margiolas

                                                                    Hello,

                                                                     

                                                                    I am trying to install the RC1 driver version on various machines with different AMD GPUs such as HD 7000 series and 295x2. After installing the new drivers I am checking the opencl capabilities with clinfo. The platform now is OpenCL 2.0 and all the new OpenCL 2.0 calls are available. However all the GPUs are still considered as OpenCL 1.2 devices, do you have any idea how can I fix this?

                                                                     

                                                                    Regards

                                                                    Chris

                                                                • Re: OpenCL™ 2.0 is here!
                                                                  cusa123

                                                                  So I went OpenCL 2.0 then ?.

                                                                  No operational or codexl sdk, besides you can not make compilations of certain programs.

                                                                  I hope to see much over for OpenCL 2.0 cycles amd compiled blender.

                                                                  The new pirate islands would be very interesting to have compiled at least one rendering engine to squeeze the new memory modules.

                                                                    • Re: OpenCL™ 2.0 is here!
                                                                      mdriftmeyer

                                                                      cusa123 wrote:

                                                                       

                                                                      So I went OpenCL 2.0 then ?.

                                                                      No operational or codexl sdk, besides you can not make compilations of certain programs.

                                                                      I hope to see much over for OpenCL 2.0 cycles amd compiled blender.

                                                                      The new pirate islands would be very interesting to have compiled at least one rendering engine to squeeze the new memory modules.

                                                                       

                                                                      You should test the R600 code branch on the updates to OpenCL :

                                                                       

                                                                      [Phoronix] AMD Adds Native Object Code Support To Clover/Radeon: Big Performance Win

                                                                       

                                                                       

                                                                      Tom Stellard announced his latest OpenCL-related improvements to the open-source Radeon Linux graphics driver.

                                                                       

                                                                      Announced this afternoon by Tom Stellard are patches that add support to Gallium3D's Clover -- the OpenCL state tracker -- for compiling compute kernels into native object code. These native object code binaries from Clover are then accepted by the R600g and RadeonSI Gallium3D drivers.

                                                                      For an example of the significance of this set of 10 patches, it changes the time of running Piglit's OpenCL tests on the RadeonSI Gallium3D driver from over 23 minutes to just over 3 minutes!