Snow Leopard's Grand Central Dispatch and OpenCL boost video encoding app by 50 percent
It'll take some time before we see the true impact of OpenCL and the newly-open-sourced Grand Central Dispatch on OS X, but we're definitely intrigued by this early report from Christophe Ducommun, developer of MovieGate, who says that shifting his app to use the new tech has increased performance by around 50 percent on the same hardware. Testing on a 2007 2.66GHz quad-core Mac Pro with a GeForce 8800GT, MovieGate MPEG-2 encode speeds went from 104fps under Leopard to 150fps under Snow Leopard, and decoding CPU usage dropped from 165 percent to 70 percent. Now, yes, that's just one app, and most users don't have four cores to play with, but it's still an eye-opening result, and we're definitely hoping it's the start of a trend.
[Via MacRumors]
[Via MacRumors]

























@Spencer, my comment was referring to grand center dispatch. Naturally you'd use other techniques to use the GPU.
It was multi threaded already.
Here's hoping Handbrake implements OpenCL soon. And that machine is pretty much my exact system. I get ~75fps running at ~380% CPU on 1500kbit video encodes from hard disk (RAID 0 so no there's no IO bottleneck)
It looked it hasn’t been updated it in a while. It looks to still be carbon, too. I’d like to think that someone takes the ball since and run with it since it’s open-source.
I am heading over to the handbrake forums and see if the devs have been working on this yet.
Sounds great, making offloading floating point calcs to the gpu this easy is going to really improve performance of some heavy apps out there.
@UnixSystemsEngineer that's not bad, but would you get a IO bottleneck on a hard drive with 70-80 MB/s read speeds? I'm not doubting you, just wondering if I should do the same with my setup.
As for Handbrake, I've heard that they don't plan on making it 64-bit, the libraries they use stem from x264 and that for the most part, they are already multi-core aware. Since x264 is open source, they would have to see if they adopt OpenCL, which I would hope they would. If they won't someone else will.
so, haters, ever seen a windows service pack do that? I can't wait to see this on some windows and linux software. imagine what this would do on a modern desktop video card. nvidia and amd have their own encoders, but each have tradeoffs. now we get the benefits on either card.
never paid for a service pack on Windows either. those $30 bought me a better piece of software :)
Sure, they're called DirectX Upgrade, or upgrade. Try not calling the kettle black, Mr. pot.
i use all platforms, i am both kettle and pot. apparently direct x 11 will support this kind of stuff, but that's windows only. apple was gracious enough to open the standard so we all win. great work, apple.
Actually, Windows 7 uses similar GPU-acceleration in many areas.
In fact, separate software utilities from ATI and Nvidia that accomplish this have been out for QUITE a while now for Windows.
There is nothing new here guys. This is a simplification system. OpenCL and GCD are just there for it to be easier for developers to do this. OpenCL and GCD do not have any specific speed benefits. It's makes it easier to code right.
For comparison's sake check out Mediacoder. When they added GPU encoding, it got faster. When they added multicore support, it got faster. When they added 64bit support, it got faster.
But you can't say it's worthless. I just makes things easier to be more efficient. But you're talking about the benefits between managed code and native code. Well written native code will always be faster. But Apple's performance hype is based on comparing sloppy native code with proper managed code.
Another idiot who has no idea what he is talking about. Give it up before you embarrass yourself further.
I just straight-recompiled a couple Unix command line apps under 10.6 and the CPU usage got a lot more efficient.
The reported test results don't seem fair. In order to evaluate a throughput metric, maxing out CPU/GPU is required. For example contention locks might lower the CPU utilization and more imporantly decrease the scalability.
In any case the lack of more perf numbers makes this just a story, far away from any benchmarks or conclusions for GCD.
Wow, people don't know what they're talking about. OpenCL is a library that can compute things on the GPU (graphics card) instead of the CPU. So, with OpenCL the computations associated with encoding/decoding video that are more efficiently run on GPU's are run on the GPU instead of the CPU, hence the performance boost. This means two things:
1) This statement makes no sense whatsoever:
"...and most users don't have four cores to play with..."
Speed of GPU operations have pretty much no correlation with CPU or how many cores it has.
2) Apple didn't do anything exceptional here. The simply ported two processes to a new library that is faster, that is all. Actually, the 50% increase in performance is pretty much nothing. Try encoding/decoding with an ATI/Nvidia Windows tool, the improvement is much more than 50%.
This kind of on-GPU performance optimization has been around for a few years now. CUDA ring a bell? how about ATI Stream? The important thing here is this:
OpenCL is OPEN, it doesn't matter what vendor you got your GPU from, if it's OpenCL-compatible, it will be MUCH faster with OpenCL apps than just your CPU. This is why software developers especially (good job Apple) should be using OpenCL over CUDA or Stream,
sorry but it's you who only know half of what you're talking about, the article also mentions Grand Central Dispatch which is dependent on multi cores.
I'd prefer it if it got 400% on the CPU and 100% on the GPU.
Lets hope that Firefox is eventually made to be as fast as Safari is now. My connection is about 1.5Mb, but pages on Safari load almost instantaneously. Firefox can take 2-3 times longer, but I still use it because of the addons.