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."

115 comments

  1. Re:Second person to post by Anonymous Coward · · Score: 0

    Only when I can get it.

    "Slow Down Cowboy!" indeed!

  2. yeah... by Anonymous Coward · · Score: 0, Funny

    ...but does it run Linux?

    1. 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.

  3. 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 Anonymous Coward · · Score: 0

      Wouldn't Moore's Law also work on GPUs?

    4. 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.

    5. Re:what does it DO? by Anonymous Coward · · Score: 0

      The math coprocessor isn't obsolete, it's just integrated in the main CPU chip. That's what may happen to the GPU, witness AMD's efforts to integrate ATI's product into its own.

    6. Re:what does it DO? by deniable · · Score: 1

      If there's enough processing elements for SIMD, you could use it for the hard core matrix operations in engineering analysis. I'm wondering waht this could do for things like FEA.

    7. Re:what does it DO? by smidget2k4 · · Score: 1

      Actually this would be GREAT for AI. Game AI? I have no idea. But, using a floating point co-processor like this you could do the calculations directly on, say, a robot, instead of having to send the data back to a mainframe for processing. Also much cheaper than buying a really fast CPU for the same tasks.

      This would be much faster than a general purpose CPU for all sorts of machine learning concepts like hidden markovs, computer vision, speech recognition... if only I had one of the cards...

    8. 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
    9. Re:what does it DO? by larry+bagina · · Score: 1

      Microsoft isn't one of the companies listed. Which is probably a good thing, since they have a tendency to prevent progress then release their own proprietary version (ala OpenGL).

      --
      Do you even lift?

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

    10. 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

    11. Re:what does it DO? by Anonymous Coward · · Score: 0

      If it says any GPU with a CUDA-compliant driver, then I don't see why it wouldn't apply to the LINUX drivers, since they are CUDA-compliant. In my experience, CUDA actually seems to be better supported on LINUX than it is on other OSes.

    12. 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.

    13. Re:what does it DO? by pato101 · · Score: 1

      Does anyone know if that applies to the proprietary Linux drivers?

      Proprietary Linux drivers do CUDA, don't they? If I'm not wrong, NVidia proprietary Linux drivers do not lack of any features .... why should they lack now?

    14. 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.

    15. 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.
    16. 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.
    17. Re:what does it DO? by SkybuckFlying · · Score: 1

      Who cares about the decoder? 2.0 GHz Core 2 Duo can handle the decoding without breaking a sweat. Encoding 20 minutes of 1080p H.264 video, however, takes a fair chunk of time. Encoding is where we want to see some action. OK, nice _extra_ to free some CPU time when watching a video.. but typical use case is such that when you watching the video you don't have much else with HIGH realtime priority going on. So.. encoding.. make it faster, make it smooth, make me cum!

    18. Re:what does it DO? by mikrorechner · · Score: 1

      Who cares about the decoder? 2.0 GHz Core 2 Duo can handle the decoding without breaking a sweat.

      That's nice and well when we're talking about desktop systems. But think about MythTV media center PCs - if you could combine an Atom CPU and a passively cooled nVidia or AMD GPU, a super-silent, HDTV capable home-grown set-top box would be possible.

      Of course, an OpenCL encoder would help, too, for this kind of setup - broadcast TV encoding, for example.

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

      There are already CUDA H.264 encoders and decoders. Don't know of any open source tools yet, though.

      http://www.badaboomit.com/?q=node/4

    20. 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

    21. 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

    22. Re:what does it DO? by Creepy · · Score: 1

      Um, the math co-processor never became obsolete; they started building it on-die rather than in a separate package.

      And yes, it is similar to CUDA and CAL, but designed for any general purpose parallel computing, not just GPU from what I can tell.

    23. Re:what does it DO? by Anonymous Coward · · Score: 1, Informative

      I about 99% sure that the 8800/9800 series are single precision, and gt260/280 have double precision. I'd guess everything beyond 260/280 will have double precision, but you never know.

    24. 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.

    25. Re:what does it DO? by docgiggles · · Score: 1

      I plan on use it to model proteins for my Science Olympiad team without upgrading the processor with our limited team budget

    26. Re:what does it DO? by drdaz · · Score: 1

      That's an nVidia only API...

    27. Re:what does it DO? by Anonymous Coward · · Score: 1, Informative

      Oh, and you need floating point exceptions, not silent over/underflow.
      Otherwise you get nonsense out the other end and have to start over.

      I've yet to see a graphics card that's fully IEEE-compliant.

    28. Re:what does it DO? by Anonymous Coward · · Score: 0

      ATI and NVIDIA have already comitted to using OpenCL(NVIDIA probably already has it working on the CUDA capable hardware). It is almost identical to CUDA in many ways, but will be slightly more vendor neutral.

    29. Re:what does it DO? by ChrisA90278 · · Score: 1

      Actually it could handle AI. If your AI project involve neural networks this could make then run very fast. Also it could do some rather simple everyday tasks well too such as transcoding media files, adjusting the color of images and the first levels of processing for voice recognition. All of these tasks involve massive numbers of simple calculatons

    30. Re:what does it DO? by V!NCENT · · Score: 1

      An open spec for crunching a shitload of calculations on a GPU on a card that handless dedicated rastering graphics...

      Call it far-fetched but... do I smell the opportunity of real-time ray tracing games running on top of rasterised 3D desktop?

      --
      Here be signatures
    31. Re:what does it DO? by Anonymous Coward · · Score: 0

      better yet, drop that atom and go with ARM.

    32. Re:what does it DO? by Anonymous Coward · · Score: 0

      Check out Cuda Codecs on sourceforge

      http://sourceforge.net/projects/cudacodecs/

    33. Re:what does it DO? by FunkyRider · · Score: 0

      How about your mom got attacked by my dick 20 years ago, then here you come?! Nuke joke is no funny

      --
      just wonder why there are so many anonymous cowards in this world....
    34. Re:what does it DO? by Jorophose · · Score: 1

      Just out of curiosity, what about ATI?

      (9600GT still looks like a good deal, but the HD4670 might just be slightly better for me at the moment... But do these include something like PhysX? Is it even a consideration?)

    35. Re:what does it DO? by Jorophose · · Score: 1

      But if you intend to play games, VIA Nano with a possible GeForce chipset (sometime soon!) would be way better (or at least the CN896 chipset and a low-power GeForce).

      ARM is low power; but other than that, what advantages does it have? Does it really scale to desktop performance? I mean, I'd love to have a small board like the BeagleBoard, but the thing isn't that great for desktop performance. Where are ARM's upsides?

    36. Re:what does it DO? by DragonWriter · · Score: 1

      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.

      A more cynical view is that as they became more popular, Intel started losing marketshare to alternative math coprocessor vendors, which they ended by putting the co-processor onto the CPU, which made it much harder for alternatives to compete.

    37. Re:what does it DO? by Anonymous Coward · · Score: 0

      you need to write GPU algorithms for solving sparse matrices

      Let me rephrase that: you need to write algorithms for solving sparse matrices in the stream computing style.

    38. Re:what does it DO? by Anonymous Coward · · Score: 0

      Make that ONE major issue. The GTX280 already supports double precision floating point.

    39. Re:what does it DO? by Anonymous Coward · · Score: 0

      I disagree. Many GPUs already have as many transistors crammed into the chip as possible. If they have space to put in more transistors, they will use it to add more functional units/CUDA support, making the GPU faster/better. Graphics never runs out of demand for GPU processing power (See:Crysis). IMO a CPU+GPU chip will always be considerable underpowered for graphics/compute than a dedicated GPU.

    40. Re:what does it DO? by Mattsson · · Score: 1

      If Nvidia or ATI really wants to start pushing their GPU's as plug-in math-coprocessors, they'll probably start designing them to cater for that use too.

      --
      /.Mattsson - My native language is not English, so please don't whine over linguistic errors. (That's lame anyway...)
    41. Re:what does it DO? by Mattsson · · Score: 1

      I'm more interested in when Matlab or the rendering-engines for applications like Maya and Pro-Engineer will add support for OpenCL. =)

      --
      /.Mattsson - My native language is not English, so please don't whine over linguistic errors. (That's lame anyway...)
    42. Re:what does it DO? by SkybuckFlying · · Score: 1

      A good point, but I was thinking more along the lines that since encoding is order of magnitude slower than decoding, having order of magnitude more processing power would come to a good use.. ;)-

    43. Re:what does it DO? by BLKMGK · · Score: 1

      And appears to be profile dependent - my videos don't match their canned profile nor do I see myself changing. My fingers are crossed they can expand that....

      --
      Build it, Drive it, Improve it! Hybridz.org
    44. Re:what does it DO? by BLKMGK · · Score: 1

      Looks pretty much empty....

      --
      Build it, Drive it, Improve it! Hybridz.org
    45. Re:what does it DO? by Anonymous Coward · · Score: 0

      It actually is, SSE-x has replaced it in most compilers. SSE also frees you from the "stack thing" of the x87 FPU.

  4. 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 LingNoi · · Score: 0

      No they aren't like you because everyone else knew you could run CUDA on ATI too.

    2. Re:I hope this becomes a cross-platform thing. by Anonymous Coward · · Score: 0

      Link please? There's been grumblings of people accomplishing this, but not with great success... not anything I've seen anyway.

    3. 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?

  5. 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 ThePhilips · · Score: 1

      Well, it doesn't mean a thing. You know, M$ was on ODF OASIS board quite some time too...

      To me litmus test of OpenCL would be independent (from video card vendor) portable implementation which runs on Linux.

      Participation doesn't mean a lot to how the spec would develop.

      To put it in another words: I'm waiting for reaction from Mesa and X.org folks. Then, if reaction would be positive, the news would get me excited.

      --
      All hope abandon ye who enter here.
    3. 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. Re:What about other chipmakers? by setagllib · · Score: 1

      I don't think your litmus test is reasonable. Because of the "big 3" video vendors signed on, virtually all modern Linux desktops will end up with OpenCL supported, and in the case of Intel and perhaps AMD, with open source drivers. nVidia will hold out open sourcing, but not many people will care because the performance will be good anyway.

      Having an independent implementation here is not important, and not at all useful, given that you'd be independent for the sake of it, rather than letting the vendor write you an open source driver!

      --
      Sam ty sig.
    5. Re:What about other chipmakers? by Anonymous Coward · · Score: 0

      (burp). They used to have a magic cow. Then I had a nummy steak and now I shits the code.

    6. Re:What about other chipmakers? by Repossessed · · Score: 1

      Does Via make anything with enough power for this to matter? All their graphics (and for that matter, everything else) seems to be bare minimum or less hardware that competes on price and power.

      Don't get me wrong, I love them* but I have a hard time imagining it'd be worth anything to exploit the power in their graphics.

      *Except that they don't make a server quality chipset to go with their processors. That pisses me off.

      --
      Liberte, Egalite, Fraternite (TM)
    7. Re:What about other chipmakers? by JebusIsLord · · Score: 1

      What does this have to do with the Mesa and X.org teams? They're graphics guys, and this isn't for graphics. I'd like to see inclusion in GCC (auto-vectorization maybe?) though.

      --
      Jeremy
    8. Re:What about other chipmakers? by Mattsson · · Score: 1

      Isn't it an open standard?
      Then those companies can implement support for their chips too...
      They just can't influence how the standard looks or works.

      --
      /.Mattsson - My native language is not English, so please don't whine over linguistic errors. (That's lame anyway...)
    9. Re:What about other chipmakers? by tyrione · · Score: 1

      Does Via make anything with enough power for this to matter? All their graphics (and for that matter, everything else) seems to be bare minimum or less hardware that competes on price and power.

      Don't get me wrong, I love them* but I have a hard time imagining it'd be worth anything to exploit the power in their graphics.

      *Except that they don't make a server quality chipset to go with their processors. That pisses me off.

      They own S3.

    10. Re:What about other chipmakers? by ThePhilips · · Score: 1

      Access to resources of video card has to be synchronized.

      Unless of course you are going to "init 1" just to run you suppa-puppa OpenCL application.

      You can't avoid X.org - because they are the driver of video card.

      You will stuck into Mesa folks - because they are closer than anybody else to what Kronos groups is doing.

      --
      All hope abandon ye who enter here.
    11. Re:What about other chipmakers? by David+Gould · · Score: 1

      That explains sooooo much.

      --
      David Gould
      main(i){putchar(340056100>>(i-1)*5&31|!!(i<6)<< 6)&&main(++i);}
  6. 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 Anonymous Coward · · Score: 0

      ...to be free of Windows

      Sounds like windows is a disease. Come on don't be so critical

    2. Re:Great! by Anonymous Coward · · Score: 0

      Actually, many things about Windows are a giant PITA for people who have experienced "bliss" elsewhere. File system semantics, API, dynamic libraries, using development packages of libraries (headers), software package management etc. are all very painful. Console + shell is almost unusable.

    3. Re:Great! by ThePhilips · · Score: 1

      Now, if only they could do the same for OpenGL.

      Care to elaborate?

      OpenGL is quite well supported on both Mac OS X and Linux. So with OpenGL you are already free.

      --
      All hope abandon ye who enter here.
    4. Re:Great! by Anonymous Coward · · Score: 0

      Actually, many things about Windows are a giant PITA for people who have experienced "bliss" elsewhere.

      *nod* *nod*

    5. Re:Great! by beelsebob · · Score: 1

      Actually, that's kinda the point. OpenGL needed to go much more general purpose (read, push a load of verticies and then do general purpose computing on them to turn them into colours). OpenCL is rather more flexible than CUDA in that it can read from vertex buffer objects, and write to framebuffers, which means that it could sensibly be used for "software" graphics engines.

    6. Re:Great! by AliasMarlowe · · Score: 1, Insightful

      ...to be free of Windows

      Sounds like windows is a disease. Come on don't be so critical

      Windows is a condition, rather than a disease. It has unpleasant and often expensive consequences (spyware, antivirus subscriptions, etc.) for those afflicted with it and for many others (spam botnets, net worms, etc.). Luckily, it is avoidable and curable in many (but far from all) cases: just use BSD or Linux.

      --
      Those who can make you believe absurdities can make you commit atrocities. - Voltaire
    7. Re:Great! by CaptnMArk · · Score: 0

      try this in command:

      start c:\

      start "C:\program files"

      ???

      start /?

      and laugh...

    8. 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).

    9. Re:Great! by Anonymous Coward · · Score: 1, Informative

      Sorry, your joke is that the utility functions exactly as documented? Really?

    10. Re:Great! by SpinyNorman · · Score: 1

      You've got that exactly backwards.

      It's OpenCL that's trying to follow in the footsteps of OpenGL, not vice versa.

      OpenGL is an open specification that has many implementations taking rather good advantage of graphics hardware! ;-)

      OpenCL wants to establish a similar standard but for GPU based kernel execution rather than graphics rendering.

    11. Re:Great! by johannesg · · Score: 1

      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).

      Thank you sir. That is indeed exactly what I meant, except that you phrased my frustrations a lot better than I did.

    12. Re:Great! by tyrione · · Score: 1

      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).

      The 6 months for OpenCL is based upon 3 or more years of Apple work flushed out and the 6 months are the flushed out specs that satisfy all the big 3 GPU vendors and the more specialized vendors. Perhaps now that this is done, Apple will do more of the heavy lifting and then accelerate OpenGL 3.1 to be done soon as well, seeing as how much it will play a role in Snow Leopard with OpenCL.

    13. Re:Great! by Anonymous Coward · · Score: 0

      I've wondered about this when OpenGL 3.0 came out and I heard a few people suggest some new library to use. Seeing people doing ray tracing with CUDA (go look on the NVIDIA website; there's a few examples listed), I thought, "Well, hell. When OpenCL comes out, if someone's solution is to come out with a new library, build it in that. And then you gain the graphics hardware acceleration, with only needing OpenCL drivers."

      Of course, as I continued thinking, I suppose you could make a way to have some sort of drivers for the library that could use that native acceleration for things when available on the cards instead of just the OpenCL code. But, in theory, it could make those drivers a lot easier to make for the hardware guys. Now, I'm not sure if that would be true. Just playing with thoughts in my head, thinking of some of the complaints with OpenGL brought up.

      Of course, that would take someone willing to do it. I suppose I could. I've taken interest in wanting to learn OpenCL just for the hell of it, and have been playing around with OpenGL in mostly C++. As I thought about it, I've even looked up some of the concepts of doing such a thing, and found some decent resources.
      But uh... I have this nasty habit of getting my program/library nice and functional with just some cleaning up needed and maybe actually making it do something more significant than what something else already does, and then going "Wait. If I did it this way, it would be so much better, for so many reasons!" And then I just ditch the whole thing and start from scratch. And then I get distracted by another project that I'm going to do the same thing on, and. Well. Yeah, I never get anything done with my programming...

    14. Re:Great! by jerep · · Score: 1

      The OpenCL spec is also way shorter than the OpenGL spec, and so are the header files. If you want to compare the time it takes to bring specifications out you have to compare the resulting size of these specifications.

    15. Re:Great! by DAldredge · · Score: 1

      Explain to me what is so wrong with PowerShell.

    16. Re:Great! by Anonymous Coward · · Score: 0

      The workaround is:

      start "windows sucks" "c:\program files"

    17. Re:Great! by Anonymous Coward · · Score: 0

      OpenGL is dead. There is no sensible group pushing the project anymore. Why bother?

  7. Dear moderator... by CarpetShark · · Score: 0, Offtopic

    I don't think redundant means what you think it means ;)

  8. Namespace conflict by rombust · · Score: 1

    Looking at http://www.khronos.org/registry/cl/api/1.0/cl_gl.h ,they are using the CL prefix. This will cause a huge headache for existing code that uses the ClanLib SDK. http://clanlib.org/docs/clanlib-0.9.0/reference/modules.html

    1. Re:Namespace conflict by jgtg32a · · Score: 1

      This looks like a job for sed

    2. Re:Namespace conflict by ArchMageZeratuL · · Score: 0

      Doesn't seem to be an actual issue, though. OpenCL uses cl_lowercase for typedefs, CL_UPPERCASE for defines and clCamelCase for methods, while ClanLib seems to use CL_lowercase for everything.

    3. Re:Namespace conflict by Anonymous Coward · · Score: 0

      Also, no one uses ClanLib, so who cares?

    4. Re:Namespace conflict by Anonymous Coward · · Score: 0

      Looks like OpenCL uses clNaming, while ClanLib uses CL_Naming. No problems here (and also not a namespace conflict, it's C, not C++).

  9. What about other vector processors... like Cell? by Anonymous Coward · · Score: 0

    Do the other major players for SIMD (or SIMT as NVidia has it) systems also sign on?

    I would like to know if code written in OpenCl will be able to use cell processors or other multi thread systems just as easily.

  10. Moore's Supercomputer. by Ostracus · · Score: 1

    Actually I'm glad to hear this. With IGP and Crossfire/SLI with dual-GPU in a quad arrangement. One could have an inexpensive (relatively speaking) supercomputer under their desks. Throw in the upcoming quad-core in 45nm fabrication and now is a good time to be into computers.

    --
    Shai Schticks:"You don't make peace with friends, you make peace with enemies"
  11. If I had mod points by Chrisq · · Score: 0, Offtopic

    I wouldn't know whether to mod you insightful, funny or off topic. You are all three!

  12. What about your other stuff Khronos?! by Anonymous Coward · · Score: 0

    I wish Khronos would put some effort into their OpenVG stuff because that is something that is really needed badly. Cairo is not a worthwhile substitute because its performance is not very good, the API is too big (and it sucks), and Glitz is too complicated/buggy.

    Currently there is no decent and complete free OpenVG implementation. The reference implementation is slow, ShivaVG is incomplete and appears dead, that Qt version requires Qt, ginkoVG doesn't support OpenGL, etc.

    1. Re:What about your other stuff Khronos?! by 644bd346996 · · Score: 1

      Khronos isn't in the business of implementing their specs. They just define them. And OpenVG was just updated.

  13. 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.

    1. Re:math co-proc have always been there! by Hatta · · Score: 1

      And eventually what happened with the FPU will happen with the GPU.

      --
      Give me Classic Slashdot or give me death!
    2. Re:math co-proc have always been there! by SendBot · · Score: 1

      intel had 486's without math coprocessors integrated (the 486sx), though it was actually on the die but disabled (either intentionally or from chips with defective math coprocs). They had a 487 you could couple with your 486sx that was still basically the same chip as the 486dx, and I think may have just disabled the other 486sx and run everything on that one processor. From what I've heard, all that craziness was due to marketing rather than technical reasons.

  14. That's nice by 800DeadCCs · · Score: 1

    Now, work on getting double-precision.

    1. Re:That's nice by Anonymous Coward · · Score: 1, Informative

      It's in the spec as an extension. The feature will appear when hardware implements it.

  15. Drivers? by Anonymous Coward · · Score: 0

    Anyone know how long we have to wait for an OpenCL enabled driver from nVidia or ATI?

  16. 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.

  17. Hardworking people at VLC you say? Bah. by Vu1turEMaN · · Score: 1

    VLC is fine if you don't care about preserving the quality of the format, or if you're too braindead to install proper codecs. Or if you want your integrated subtitles to look like shit, unless you run a nightly build with a few tweaks.

    Honestly, I've found that Zoom Player's codec downloader and auto-configured silent install work the best for everyone, from the common person to the hardcore encoder to the obscure format enthusiast. Its a nice little stand-alone exe that, when run, will actually update your codecs too if you don't have the newest version.
    http://www.mediafire.com/?emxigti2dwh

    The hard-working people of the REAL open source codec scene (ie none of the ones you mentioned) are who I want to look at this.

  18. The 80's called, they want their PRAGMA back by fletch_wins · · Score: 0, Troll

    Why are all HPC languages targeting the GPU pretending that compiler technology stopped with C? I can understand wanting the low-level control, but not always. How about some higher level constructs to encapsulate the often repeated GROUPSIZE, group_id, local_id logic?

    There's only one way of accessing memory that performs - so make the compiler enforce it, unless I explicitly want to use low-level API to do something fancy.

  19. Plugins by jlebrech · · Score: 1

    Plugins for ffmpeg or any other codec for that matter could provide a huge boosts for linux. What about blender or yafray support.

    There would be a huge uptake of Linux for video editor and 3d graphics artists.

  20. 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 ]
  21. Re:What about other vector processors... like Cell by Jorophose · · Score: 1

    You think we could get this little bugger working on Linux (and BSDs, etc) then?

    http://www.leadtek.com.tw/eng/tv_tuner/specification.asp?pronameid=447&lineid=6&act=2

    It looks very nice, being a 4-core Cell CPU on a card with 128MB of XDR. PCIEx1 (it's too bad I can't find PCIE splitters/risers...) and half-height but it uses a fan (I'm sure we can fix that. heh.) so it's almost the right card for a mythTV backend (or combo, or frontend since it can decode video).

    It would also be nifty for those of us who like to do... "creative" programming.

    But leadtek hobbled it, with drivers only for XP and Vista and requiring their bloatware to go with.

  22. Re:What about other vector processors... like Cell by 644bd346996 · · Score: 1

    The Cell architecture is mentioned in the intro section of the spec as an example of what OpenCL might be good for. The language is generic enough that most any vector processor should work as a target.

  23. FAIL by Anonymous Coward · · Score: 0

    I cannot express how disappointed I am by OpenCL. Take CUDA, add some levels of overengineering and make it unusable like OpenGL.

    CUDA is far from perfect, but to a certain degree free of hassles: Get your memory with cudaMalloc(), write a __global__ function, and launch it. Done.
    Things that can be done with 5 lines of CUDA now need 3 pages of OpenCL setup code. Its not rocket science, but very annoying to do and I really hope CUDA will stay for a while.

  24. OpenCL : looks actually promising. by DrYak · · Score: 1

    Sorry for the self reply.

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

    I did read the OpenCL specifications afterwards, yesterday night. Call me crazy, but that's the field I'm currently working in.

    OpenCL *is* very promising, indeed.
    It's not quite that different than CUDA.

    • It's still any "intermediate"-level language (the same as the position C has between assembly and high-level language)
    • Like Brook and CUDA, the language running on the GPU is very heavily based on C. In OpenCL's case it is clearly defined against the standard C99.
    • Unlike Brook and CUDA, the code running on the GPU (="kernels") isn't intermixed with the host-code in the same source file (and subsequently split at compile time by a code-cutter which randomly barfs at extensions) (except when CUDA seg-faults upon seeing Boost). Instead, the kernels are stored separately and provided to the API (just like shaders written in GLSL are provided in OpenGL, and like CUDA when used with external .cubin kernels)
    • OpenCL aknowledges standard compliant ways to implement extensions ( "__keywords" and "attributes(( ... ))" ) (I just hate when CUDA decides to barf on the latest GCC standard extensions-du-jour)
    • Unlike Brook, and Like CUDA, on the host-side of the program, OpenCL doesn't use abstracted extensions but API calls. (For allocating and managing memory, etc...)
    • OpenCL's API is slightly lower level API than CUDA : allocation and memory management is decomposed in more steps, kernel calling is much more verbose

    And now the best parts : It is definitely vendor-neutral.

    • According to the documentation, tons of people from Apple, ATI/AMD and Intel, several key people from nVidia and even representative of several embed technologies have contributed
    • The only missing in the list are Microsoft, but they are working on their own GPGPU extension anyway
    • Globally it looks like CUDA but several of the nVidia-specific quirks removed.
    • Lot of this is done by going at a much lower level and letting several different way to handle stuff, allowing the several different approach by hardware manufacturer have done

    In short, I personally think that OpenCL is like CUDA, done better, although at a slightly lower level.

    That leaves us in GPGPU world with OpenCL as a very powerful low-level API.
    And several systems like Brook and RapidMind which can take advantage of it to expose a much more abstracted high-level environment.

    Now all we need is Python & Perl bindings and syntactic sugar.
    And an OpenCL frontend to the Gallium3D linux driver stack.
    Both of which will probably happen really soon.

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  25. Pretty ignorant statement based on what I've seen by BLKMGK · · Score: 1

    Oddly the XBMC folks have found that a 3ghz DUAL CORE CPU - Intel - is what it takes to do high bitrate HD video. So I'm sorry to burst your bubble but some GPU help would certainly be helpful! I'll agree that encoding takes far longer but playback shouldn't require such beefy hardware either and encoding need only be done once as opposed to DEcoding which happens on every user's machine who wishes to see the content. Have you looked at the sorts of speed-ups the NVIDA code has been giving? When you see a more than 50% drop in CPU usage I'd say that's pretty significant - sadly it seems to be both manufacturer and worse profile dependent...

    --
    Build it, Drive it, Improve it! Hybridz.org