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


      One cannot write a host program in OpenCL C99


      "You cannot write a host program in OpenCL C99"




          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.