Announcement

Collapse
No announcement yet.

OpenCL Over Mesa, Gallium3D Discussion

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • OpenCL Over Mesa, Gallium3D Discussion

    Phoronix: OpenCL Over Mesa, Gallium3D Discussion

    While NVIDIA and ATI/AMD have OpenCL support within their binary drivers, the open-source Mesa / Gallium3D stack is still lacking open-source support for the Open Computing Language on Linux. But the discussion surrounding OpenCL in Gallium3D has been renewed on the mailing list today.Since August there has been a branch that provides Clover, which is an OpenCL state tracker ("CL over [Gallium3D]"), but unlike other state trackers it hasn't been progressing at a brisk pace...

    http://www.phoronix.com/vr.php?view=Nzc4NQ

  • #2
    How big is the OpenCL language compared to e.g. OpenGL 3.2?

    Comment


    • #3
      In terms of language OpenCL seems to be smaller than OpenGL. On the other hand, the implementation is more work than the language complexity suggests because of the need to run well on a wider range of targets than OpenGL.

      I wonder why "coal" was suggested as a name rather than "chlorine" (Cl), which seemed like the obvious choice

      Comment


      • #4
        Originally posted by bridgman View Post
        In terms of language OpenCL seems to be smaller than OpenGL. On the other hand, the implementation is more work than the language complexity suggests because of the need to run well on a wider range of targets than OpenGL.
        I see.

        I have always wondered how a new language is implemented. Is it "just" a huge series of regular expressions, that replaces the new language code with C code than then compiles it as C?

        Originally posted by bridgman View Post
        I wonder why "coal" was suggested as a name rather than "chlorine" (Cl), which seemed like the obvious choice
        I think it is funny, but I don't know why

        Comment


        • #5
          Originally posted by Louise View Post
          I see.

          I have always wondered how a new language is implemented. Is it "just" a huge series of regular expressions, that replaces the new language code with C code than then compiles it as C?


          I think it is funny, but I don't know why
          look up compiler compiler, your head might explode (mostly because you are so close to correct)

          Comment


          • #6
            Reading up a bit on lex and yacc might be useful :

            http://dinosaur.compilertools.net/

            Comment


            • #7
              Originally posted by bridgman View Post
              Reading up a bit on lex and yacc might be useful :

              http://dinosaur.compilertools.net/
              This URL is made of win.

              OpenCL has a pretty clean, object-oriented API, which is a welcome change of direction compared to OpenGL. On the other hand, it looks pretty difficult to implement in a performant fashion - each GPU will need its own optimizations, more or less.

              On the other hand, a Gallium implementation that runs on the CPU would be sweet. Not only would this improve portability / interoperability, it would also make math-heavy applications much more feasible on VM-based languages like Python, C# and the like.

              Some preliminary testing here indicates a performance improvement between 5-50x when using AMD's CPU implementation instead of .Net code. More testing is necessary, but the result isn't too shabby!

              Comment

              Working...
              X