5-Fold Increase in Video Encoding with OpenCL-like Technology

Discussion in 'MacRumors.com News Discussion' started by MacRumors, Apr 24, 2009.

  1. macrumors bot


    Apr 12, 2001

    NVidia and Nero announced yesterday that a recent update to the Nero Movie it software application for Windows reduces video encoding time by up to five times by utilizing NVIDIA's CUDA architecture. They specifically describe the encoding of HD video for an iPod going from "hours to mere minutes" when the application is used in conjunction with a supported NVIDIA graphics card.

    CUDA is NVIDIA's parallel computing architecture that harnesses the power of their graphics card GPUs. This allows developers to leverage the parallel processing power that is otherwise being unused within these graphics cards.
    While the announcement is not directly related to Apple, the harnessing of this GPU power is the cornerstone of OpenCL which will be featured in Mac OS X Snow Leopard.

    OpenCL is an open standard that was established in collaboration with AMD, Intel and NVIDIA and was ratified in December. Apple is expected to release Mac OS X Snow Leopard later this year, and we should hear more details at WWDC in June.

    Article Link: 5-Fold Increase in Video Encoding with OpenCL-like Technology
  2. macrumors 6502a


    Jan 6, 2009
  3. macrumors G4


    Jun 6, 2003
    Solon, OH
    That's what makes OpenCL great. If applied to a task it's particularly well-suited to, such as video/audio encoding, it speeds the task up enormously. I can only dream about what this will enable in iTunes... imagine transcoding an iTunes library in ALAC to AAC, that has about 8000 songs in it. Today, this takes about 5 hours. With OpenCL, only 30 minutes will be required. :D
  4. macrumors member

    Jun 10, 2008
    Wirelessly posted (Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_2 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5G77 Safari/525.20)

    So will this work in a VM enviorment or under boot camp???
  5. macrumors G4


    Jun 6, 2003
    Solon, OH
    Yes, in Boot Camp, provided the drivers to take advantage of it are available. No, in a VM environment.
  6. macrumors 68030

    Full of Win

    Nov 22, 2007
    Ask Apple
    I'm sure Adobe will use this as a way to get people to upgrade to the next CS in a year or so.
  7. macrumors 68000


    Sep 29, 2008
    Sounds great! Five fold says alot and I wonder if Apple will use this anytime soon. Also, how will the battery be affected? I figure we see this technology end of this year or next
  8. macrumors 6502


    Jun 15, 2007

    Aaahhh . . . yeah! This is not an ordinary "software vs. software" situation. What they are talking about is yes, software, but software that is using a graphics card GPU to do most of the heavy lifting for encoding (usually a very intensive CPU task) So it is not a simple as asking "you mean faster than software X?" but rather "when will OTHER software start using this technology?"
  9. macrumors G4


    Jun 6, 2003
    Solon, OH
    Of course Apple's going to use this - it says so on Apple's Snow Leopard page.
  10. macrumors 601


    Aug 29, 2006
    We'll soon see how much Apple has integrated OpenCL power into the OS and it's applications also. Can't knock a 5x speed increase - I'd imagine we'll see more and more benefits as we move towards Snow Leopard's release.
  11. macrumors 68040


    Oct 25, 2004
    Well, it could be made to work in a VM, but that would require support from the VM software maker and probably the GPU vendor as well. I wouldn't look for it out of the gate, but it might come eventually.
  12. macrumors 6502


    May 23, 2003
    Melbourne, FL
    Standards dilution!

    Does anyone else feel that standards are strong only when everyone uses it. If OpenCL is an open standard, then why is Nvidia and Nero working on this other interface. This is just going to dilute the standards and not go anywhere. What impetus is there for the standards body to keep advancing the standard if different vendors work directly with different software companies to implement their wares. Oh well!!
  13. macrumors member

    May 20, 2008
    Be interesting to see how this compares to Badabooms GPU encoding.
  14. macrumors G4


    Jun 6, 2003
    Solon, OH
    You misinterpret the standard. CUDA is simply a lower layer that implements OpenCL. AMD/ATI also has a lower layer specific to their GPUs that implements OpenCL. The fact that these lower layers exist, however, need not concern anyone using the OpenCL standard.
  15. macrumors 68020


    Jul 16, 2002
    Salt Lake City, UT
    This may be the very reason why we haven't seen an update to the Final Cut Pro suite yet. Not to mention that Final Cut Pro will be able to become fully 64 bit for Leopard.

  16. macrumors regular

    Aug 25, 2006
    Elgin, IL
    OpenCL is pretty new to the game. CUDA has been on the books for around two years now, IIRC, though perhaps even longer. ATI also has their own standard and sure as shootin' Intel will have their own when Larabee hits the stage, though I imagine Larabee will not be restricted to one particular language as it is an x86 based GPU. (GOODNESS I can't wait for Larabee!!!)
  17. macrumors 6502

    Sep 15, 2008
    This is where we see if all Apple's grand designs have been worthwhile. On Windows, video intensive apps will simply use the GPU processing power on an app by app basis.

    Having it in the OS, available even to non-graphics apps, well we will see whether there is really any benefit to that. Time will tell (and probably some WWDC demos!).
  18. macrumors 6502a

    Apr 17, 2006
    Las Vegas
    I'm skeptical. The x264 guys looked at CUDA and found it wasn't worth it. The badaboom app required a $600 video card to encode a movie as fast as a Core i7 940. And then the quality output from badaboom wasn't even nearly as good as x264 output, and this test was back in November, and there have been some x264 speed improvements since then. Show me the benchmarks!
  19. macrumors member

    Nov 9, 2006
    OK, well heres hoping that my now aging RADEONX1600 will be able to make use of this funkiness in Snowleopard...

    Dont feel like upgrading as im still happy with my mbp. (CD 2.16GHz)

  20. macrumors 65816


    Jun 17, 2007
    They are using a Windows operating system.
    They didn't even need an updated operating system like Snow Leopard.
    So what's the big deal about Snow Leopard if Nero Movie It can use CUDA with Windows Vista?
  21. sdp
    macrumors member

    Jul 23, 2004
    As someone eagerly awaiting the new FCP (I just updated to an Octo from a G5 to prepare for the update) I agree with you and really believe that SL and FCP are moving hand in hand.

    FCP is not a cash cow for apple, but more a flagship achievement. a 64 bit bump in the software that uses ALL the cores, will help cement them in as a company that continues to lead in innovation.

    Now, if they re-write the media manager and shore up the xsan, they might actually be able to take a bigger bite out of avid.
  22. macrumors member

    Jan 15, 2008
    Im sure they will use the fact the next version will be 64 bit compatible with Mac will be the reason to upgrade..
  23. macrumors 68000


    May 20, 2002
    middle earth
    It doesn't make sense that the quality would be worse. It isn't as if the graphics card would multiply bits differently than a CPU. If they were doing the same operation on both the Core i7 CPU with a non-CUDA application, and a "lesser" CPU combined with an NVIDIA card and a CUDA enabled application, the resulting video would be the same, all that should differ would be the time it took to get there.

    It sounds like your "badaboom" test may not be all you think it is.

    You've been able to code against CUDA on Windows for some time now. You've probably been able to do it on OS/X as well. But its hard, and it only works if you have an NVIDIA card installed in your system. Here's a test, do your parents know who manufactures the video card in their current system? Most people don't know. NERO is aiming this product at the geek who probably built their own PC from scratch. Also, it is quite possible that wouldn't benefit from more than 1 NVIDIA card installed in the system - although I could be wrong here, I haven't investigated the app that thoroughly.

    Apple is aiming for OpenCL to fix some of those issues. 1) It should work (or at least show some positive effects) on any video card that supports OpenCL. That will include NVIDIA and ATI at least, and likely most or all of the other graphics cards on the market in a short time. 2) Apps coded against OpenCL suffer little performance penalty on systems without high-end GPUs, but scale up on systems with one (or multiple) high end cards without need for the application developer to do anything special.

    In short, developers will need to code their apps using the OpenCL standard (which I have investigated, and isn't ridiculously hard), but once that is done, the app should benefit from all possible compute resources available on the machine. Right now, that is mostly limited to CPUs and graphics cards, but in the future, I would not be surprised to dedicated encoder-decoder chips shipped with even low-end hardware. OpenCL apps would get access to that hardware for free.
  24. arn
    macrumors god


    Staff Member

    Apr 9, 2001
    1. I don't run Windows
    2. All shipping Macs will support this vs. owning specific NVIDIA cards on the PC side.
    3. Hopefully there will be more developer adoption due to #2.

  25. macrumors 6502a

    Sep 7, 2005
    Because for this particular scenario they need a specific windows driver 32 or 64bit, an Nvidia card that supports the CUDA language. This thing was built with Nvidia`s help to show off the performance they could get out of a GPU. It`s highly customized an inflexible solution.

    OpenCL takes it a couple of steps further, It abstracts away from the specifics of the hardware, you don`t need to learn what function each card may or may not support or the underlying language supported. It`s an open standard so if and when people get around to it, there`ll be an implementation of OpenCL on linux and possibly even windows.

    In other words it`s like moving from assembly language to Java.

Share This Page