1 Reply Latest reply on Apr 9, 2011 12:58 AM by tweenk

    LAYERS TO USE WITH OPENCL SOLUTIONS - [SOLVED]

    dragonxi4amd
      One cannot write a host program in OpenCL C99

      THANKS FOR THE ANSWER

      "You cannot write a host program in OpenCL C99"

       

        • LAYERS TO USE WITH OPENCL SOLUTIONS - QUESTION
          tweenk

           

          can one write 3D apps directly with C-language of OpenCL and which packets and SDKs to use/build?


          No, you can't directly run OpenCL kernels. You need a host program that feeds them with data and executes them, and collects the output.

           

          ~ PYTHON 3.2 + availability of tools & apps such as numpy + supports multiprocessing & multi-core


          There is no point in using the latest version of Python. You get a few new language features, but this is rarely important. Use a version that can run all the libraries you need.

           

          PYOPENCL older than version 3.2 of Python - needs conversion


          Again, if you need PyOpenCL, use a version of Python that can run it.

           

          BOOST FOR C++ ~ C++ interface for Python


          Boost.Python is not a C++ interface to Python. It is a tool to create Python bindings easily, so you can use your C++ code from Python.

           

          C++ ~ OOP -extra layer


          C++ is not an extra layer. It is compiled to machine code, unlike Python. In most cases you will get far better performance from a pure C++ application than from a Python application.

           

          C ~ why to use - why not directly OpenCL C-language ?


          OpenCL C99 is not a standalone language, you need to call it from a host program. You cannot write a host program in OpenCL C99.

           

          C of OpenC ~ why not directly this layer from application ? ~ available for apps in CPU ?  ~ how to debug & analyze GPU ?


          AMD APP SDK can execute OpenCL kernels on the CPU. However, optimally performing kernels for the CPU are quite different than for the GPU.

           

          DirectX  OpenGL ... ~ are any of these designed for GPUCPU programming ?


          They are much harder to use for general computing than OpenCL. Use them if you want to draw graphics.

           

          64-bit OS  GPU OS ~ no multicore support!       ~ ?


          I don't know what you mean. Latest APP SDK supports concurrent kernel execution, so you get some degree of task parallelism.

           

          64-bit ASM ~ when to use in CPU ?


          Never, unless you know exactly what you are doing.

           

          OpenCL Runtime here too ? ~ sources available ? free ?


          An OpenCL runtime is what you need to execute OpenCL kernels. It is contained in the APP SDK. There is no free software implementation of OpenCL that I'm aware of.

           

          64-bit GPU - core is not a device !          -  only 32-bit available!


          32-bit address space should not be a problem unless you data is larger than 4GB. However, there are no GPUs with more than 4GB of memory per core available on the market.

           

          PCI ? only interface bus <=> no for LAN no Web!


          Are you expecting to use LAN directly from the graphics card? I think you have some serious misconceptions.