7 Replies Latest reply on Dec 22, 2009 2:03 PM by chris244

    Distributing OpenCL applications

    chris244

      If I develop an OpenCL application using the ATI Stream SDK v2.0 what steps are required to distribute the application to my users?

      Do my users need to install the SDK as well or is there a user runtime that either AMD or I will redistribute to the user?  (I imagine the GPU device functionality would come with the video driver, I'm not sure about the CPU device functionality).

        • Distributing OpenCL applications
          Stib

          As i see it, the applications need the SDK present on the system now, no user runtime at present. But, i would like to hear the official answer, maybe i am wrong!

            • Distributing OpenCL applications
              nou

              i think that AMD release runtime for CPU implementation and OpenCL IDC.

                • Distributing OpenCL applications
                  genaganna

                  Presently,

                            User has to install  developer package from SDK installer to run  on  CPU.

                             To run on GPU,  Developer package and driver needs to be installed

                    • Distributing OpenCL applications
                      chris244

                      Thanks genaganna,

                      Is Visual Studio or gcc required on the end user machine?

                      I imagine that AMD is working on a more streamlined end user installation experience for the future.

                      If OpenCL is to be used for more than just special purpose demo applications, it's important for developers and end users that it's easy to get access to the required OpenCL functionality.

                      A video driver installation (like the Catalyst installer) is about the most that can be asked of users.  The developer SDK obviously has components that are of no use to a user and add to the complexity of the installation process (and the size of the installer).

                      I think it's better to have AMD distribute the runtime with the video driver or an analogous installer for the CPU. If individual applications handle the installation there will be chaos caused by incorrect installations damaging the system for other applications.  It will be challenging enough for AMD and NVIDIA to ensure that the ICD system works well with mixed installs.

                        • Distributing OpenCL applications
                          kbrafford

                          Maybe we're just supposed to target the Mac for now, since OpenCL for Nvidia and ATI is built into Snow Leopard, and wait and see how they plan on making it easy to utilize OpenCL instead of DirectCompute on Windows.

                          • Distributing OpenCL applications
                            genaganna

                             

                            Originally posted by: chris244 Thanks genaganna,

                             

                            Is Visual Studio or gcc required on the end user machine?

                            Not required if end user not developing any application with OpenCL.

                             

                            I imagine that AMD is working on a more streamlined end user installation experience for the future.

                             

                            If OpenCL is to be used for more than just special purpose demo applications, it's important for developers and end users that it's easy to get access to the required OpenCL functionality.

                             

                            A video driver installation (like the Catalyst installer) is about the most that can be asked of users.  The developer SDK obviously has components that are of no use to a user and add to the complexity of the installation process (and the size of the installer).

                             

                            I think it's better to have AMD distribute the runtime with the video driver or an analogous installer for the CPU. If individual applications handle the installation there will be chaos caused by incorrect installations damaging the system for other applications.  It will be challenging enough for AMD and NVIDIA to ensure that the ICD system works well with mixed installs.

                             

                            Presently ICD model supported.  I feel Ideally Khronos  should initiate this.

                              • Distributing OpenCL applications
                                chris244

                                The ICD model is good and I'm glad that Khronos worked with vendors to make it happen and that vendors have adopted it, it's a critical improvement.

                                I don't think Khronos will be able to help with the distribution of vendor implementations though (just like they don't distribute OpenGL implementations).

                                The video driver seems like the natural place to put OpenCL functionality for the GPU.  This is what NVIDIA is doing with their driver.  This way the user can download a new video driver and gain OpenCL capability.  A similar package could target the CPU.

                                I'm sure all these details will be worked out in the coming months, I just wanted to see if there were any announced plans at this time.