Slashdot Mirror


Khronos Releases OpenCL Spec

kpesler writes "Today, the Khronos Group released the OpenCL API specification (which we discussed earlier this year). It provides an open API for executing general-purpose code kernels on GPUs — so-called GPGPU functionality. Initially bolstered by Apple, the API garnered the support of major players including NVIDIA, AMD/ATI, and Intel. Motivated by inclusion in OS X Snow Leopard, the spec was completed in record time — about half a year from the formation of the group to the ratified spec."

24 of 115 comments (clear)

  1. what does it DO? by Bizzeh · · Score: 4, Interesting

    is this simply a spec that people expect ati and nvidia to conform to? or is this another api outside of CUDA and CAL, that wraps the two up so that a single api can execute code on all GPGPU's?

    1. Re:what does it DO? by u38cg · · Score: 4, Informative

      No it basically turns your graphics card into a general purpose floating point number cruncher, which is potentially useful for all sorts of things (although I predict Moore's Law will in a few years render it as obsolete as the maths co-processor).

      --
      [FUCK BETA]
    2. Re:what does it DO? by san · · Score: 5, Informative

      is this simply a spec that people expect ati and nvidia to conform to? or is this another api outside of CUDA and CAL, that wraps the two up so that a single api can execute code on all GPGPU's?

      It's the latter: a single API + kernel language for any GPU. Because both NVIDIA and AMD are represented in the contributor list, it actually has a chance of being adopted.

    3. Re:what does it DO? by moogord · · Score: 5, Interesting

      It has applications further than that, the SIMD architecture of gpus makes them almost perfect as a hugely powerful non general purpose processor. Do you want to use this to handle AI? no. do you want to use this to enable millions of crates to go flying every which way when you fire a rocket? yes. Its essentially what glsl is to Nvidia's Cg, but instead of cg its an open (that's the important thing) CUDA replacement.

    4. Re:what does it DO? by mikrorechner · · Score: 5, Informative

      It's the latter: a single API + kernel language for any GPU. Because both NVIDIA and AMD are represented in the contributor list, it actually has a chance of being adopted.

      According to heise.de (in German), nVidia says that OpenCL applications will run seamlessly on any gpus with a CUDA-compliant driver. Does anyone know if that applies to the proprietary Linux drivers?

      If this really takes off, how long until the hardworking people from the x.264 or VLC or ffmpeg or mplayer projects can write a H.264/AVC decoder that uses the GPU?

      --
      "Oh, a lesson in not changing history from Mr I'm-my-own-Grandpa." - Dr Hubert Farnsworth
    5. Re:what does it DO? by Anonymous Coward · · Score: 3, Informative

      Yes, there is a CUDA driver and SDK for Linux on NVIDIA's site: http://www.nvidia.com/object/cuda_get.html

    6. Re:what does it DO? by volsung · · Score: 3, Informative

      CUDA is already doing great things in molecular dynamics, which bears some similarity to FEA:

      HOOMD Benchmarks

      A single 8800 GTX reaching 75% of the performance of a 32 node cluster isn't bad. I imagine the GTX 280 would easily beat the cluster.

    7. Re:what does it DO? by fuzzyfuzzyfungus · · Score: 2, Insightful

      I strongly suspect that Nvidia knows that a lot of CUDA crunching boxes are going to be running linux. It's cheap, it's stable(not mainframe stable; but easily reliable enough for commodity crunching boxes), it has low overhead, and it is easy to administer. Plus, it runs on boring commodity x86 whiteboxes. I imagine that, even if they didn't support graphics acceleration on Linux, they would support CUDA.

    8. Re:what does it DO? by /ASCII · · Score: 3, Insightful

      The math co-processor wasn't made obsolete. It became so vital to system performance that Intel and friends started including it in on the CPU proper. These days, they call it an FPU.

      --
      Try out fish, the friendly interactive shell.
    9. Re:what does it DO? by Free+the+Cowards · · Score: 3, Insightful

      If the past few years is any indication, it works much better on GPUs than on CPUs.

      --
      If you mod me Overrated, you are admitting that you have no penis.
    10. Re:what does it DO? by chris_oat · · Score: 4, Informative

      Do you want to use this to handle AI?

      It depends on what kind of AI you are talking about. Path finding actually maps nicely to the GPU. AMD released a demo that showcases this by running a path finding simulation on the GPU for several tens of thousands of agents. Read all about it in Chapter 3 the Advanced Real-Time Rendering course notes from SIGGRAPH 2008. Demo and screen shots here: Froblins Demo

    11. Re:what does it DO? by mrchaotica · · Score: 3, Insightful

      The two major issues to be solved with that are that you need double-precision hardware (I can't remember if the Nvidia 9000 series supports that or not) and, more importantly, you need to write GPU algorithms for solving sparse matrices.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    12. Re:what does it DO? by 3.1415926535 · · Score: 2, Informative

      This isn't necessary for that because modern GPUs already have dedicated hardware for video decode.

  2. I hope this becomes a cross-platform thing. by Anonymous Coward · · Score: 4, Insightful

    There's no way I'm writing a single line of CUDA code when it only works with nVidia hardware, and I think there are a lot of other people like me. This could open up GPGPU programming to a much wider group of programmers.

    1. Re:I hope this becomes a cross-platform thing. by drfireman · · Score: 2, Insightful

      CUDA on ATI would help me a bit. But a quick googling of this concept turned up a bunch of pages saying it'll never happen, doesn't work, etc. Could you post a link?

  3. What about other chipmakers? by elh_inny · · Score: 2, Interesting

    While I see quite a few members that I wasn't expecting (Creative Labs), my concern is that there are some companies that should definitely be participating in this but aren't.
    By that I mean gfx chip makers such as Via or S3, as for now it seems we're tied to the major players (nVidia, AMD, Intel) for desktop/laptop implementations and that's never good for the consumer.

    Either way the spec itself is a great initiative and I can't wait to get my hands on beta bulids of Snow Leopard to try it out...

    1. Re:What about other chipmakers? by elh_inny · · Score: 2, Interesting

      Oops.. I just noticed S3 is on the list, they managed to get a lot of companies on board after all.

    2. Re:What about other chipmakers? by larry+bagina · · Score: 3, Interesting

      Open Source means all of us. X.org and Mesa don't have a magic cow that shits code, it has to be written by people in their spare time (and X.org is stagnating due to a lack of developer interest). Nobody on the OpenCL list particularly give a shit about linux, and adoption will happen with or without linux or open source. Instead of waiting for other people to tell you how to feel, maybe you should sit down and read the spec.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

  4. Great! by johannesg · · Score: 3, Insightful

    Now, if only they could do the same for OpenGL... Which is needed by a lot more people, and is in my opinion a lot more important for anyone who wishes to be free of Windows.

    1. Re:Great! by robthebloke · · Score: 5, Insightful

      I think the OP meant, "If they could finally get around to ratifying an openGL 3.1 specification in 6 months (instead of being 2 or 3 years late as GL3.0 was); turn it into a useful standard that people actually want to use (which GL3.0 is not); and finally make good on all the things we were promised for 3.0, which they ended up ditching at the last minute. If that happens linux/mac openGL developers around the world will feel less dirty than they do right now"....

      He wasn't implying anything about windows + GL as such, more making the observation that openGL is vital to Mac/linux - and as such those OS's are very much at the mercy of the Khronos group's actions (or more accurately - no action at all as was the case with GL3).

  5. Re:yeah... by CarpetShark · · Score: 4, Funny

    Yes, but you get 2**256 very tiny virtual consoles on screen, each with only 128bits of ram. On the up side, every console can be at a slightly different angle, with different specularity.

  6. math co-proc have always been there! by malaba · · Score: 4, Informative

    they just have been integrated into the main chip

    by 486 era if I remember correctly.

    By that time they had enough transistor to just put everything inside the same silicon chip, faster, cheaper.

    Today, every CPU have an IEEE floating point unit.
    To say we don't have maths co-proc is misleading.

  7. Re:What about other vector processors... like Cell by larry+bagina · · Score: 2, Insightful

    OpenCL code is a subset of c, with an API that the GPU must implement. So it will work on Cell (or any CPU) with gcc and a library implementing the API.

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

  8. No way for CUDA on ATI by DrYak · · Score: 2, Interesting

    CUDA on ATI can't be done easily.
    As a writer of CUDA code, I can tell you that a lot of CUDA isn't as high level as nVidia's marketing would like you to believe. And thus is very much linked to specific properties of the current hardware from nVidia.

    The lower-level of CUDA enables the programmer to do some really clever optimisations. But as the hardware peculiarities aren't abstracted away, writing a compatible implementation for chips from a different manufacturer which aren't exactly the same underneath isn't trivial, even if the specifications of CUDA *are* published.

    On the other hand, the Brook language is a really a high level language which completely abstracts the details of hardware implementation. The BrookGPU implementation supports several back-end, including en OpenGL + GLSL back-end which as well on GPUs from both ATI and nVidia.
    Though I didn't follow the latest development since ATI hired the main guy to write Brook+ for them.

    Because it is supposed to be vendor neutral, OpenCL looks promising too, but I haven't read the specifications yet.

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]