PDA

View Full Version : Is CUDA really worth it?


everywhere
07-25-2012, 09:20 AM
I'm looking to build soon and I'm not sure if AMD or nvidia is better for me.

In prioritized order I am building this machine for:

1. Video Editing
2. Live A/V Performance
3. Graphic Design
4. Learning Audio production
5. Web browsing
6. Learning general Maya
7. No games

Would CUDA be very beneficial to me?

If it helps, my budget is ~$1000 and so far I'm thinking of an i7 2600k, 16GB RAM, and some mobo with lots of A/V outputs. I think I should spend $150-250 on my GPU.

Thanks in advance.

olson
07-25-2012, 03:52 PM
That's a very subjective question. In my opinion, no, CUDA is not "worth it" but I do have a bias. CUDA is a proprietary framework from Nvidia that works only on Nvidia hardware. For that reason alone I have avoided anything with CUDA and so have many others. Locking software and hardware together isn't good for anybody except for those profiting from it (in this case, Nvidia).

OpenCL is an open source framework that serves the same purpose as CUDA but is not limited to any specific hardware or platform. Chipsets from many manufacturers support OpenCL including Nvidia and AMD. Adobe has adopted OpenCL in the Creative Suite so there's no benefit to being able to use CUDA there. There are specific tools here and there that require CUDA but in the big picture it matters very little, especially as more developers offer products with OpenCL acceleration instead of CUDA (or both).

sentry66
07-26-2012, 12:31 AM
yeah IMO CUDA is on its way out and is more about what currently is optimized for it this second.

IMO something more general purpose like the intel Phi or more open like openCL looks like the future for most of us

dmeyer
07-26-2012, 10:17 AM
If you're "video editing" is taking place in Premiere Pro, then yes CUDA is worth it. It's no panacea but does speed up certain tasks a notable amount.

olson
07-26-2012, 12:41 PM
If you're "video editing" is taking place in Premiere Pro, then yes CUDA is worth it. It's no panacea but does speed up certain tasks a notable amount.

Premiere Pro on Windows uses CUDA... for now. In the next version I wouldn't be surprised if support for CUDA is dropped completely. On Mac almost all of the CUDA features have been implemented in OpenCL.

http://blogs.adobe.com/premiereprotraining/2012/05/opencl-and-premiere-pro-cs6.html

Beginning with Premiere Pro CS5, we have been using the GPU on certain graphics cards to process many things within Premiere Pro. This GPU processing (sometimes loosely referred to as “hardware acceleration”) relied on CUDA, a set of technologies from Nvidia.

We got a lot of requests from people using computer systems that couldn’t use CUDA—such as those with built-in GPUs from AMD—to expand our GPU acceleration features to also use OpenCL.

So, we did.

In Premiere Pro CS6, nearly all of the things that can be processed with CUDA on certain Nvidia GPUs can also be processed by OpenCL on certain AMD GPUs.

Not sure if that's the case on Windows or not, the only supported cards they list are for Mac. Can anyone with Premiere Pro on Windows confirm whether or not OpenCL support is there?

dmeyer
07-26-2012, 12:52 PM
Premiere Pro on Windows uses CUDA... for now. In the next version I wouldn't be surprised if support for CUDA is dropped completely. On Mac almost all of the CUDA features have been implemented in OpenCL.

http://blogs.adobe.com/premiereprotraining/2012/05/opencl-and-premiere-pro-cs6.html

Not sure if that's the case on Windows or not, the only supported cards they list are for Mac. Can anyone with Premiere Pro on Windows confirm whether or not OpenCL support is there?

I'd be shocked if it were dropped in the next CS release.

If OpenCL maintains momentum it will be great, though energy behind it seems to be fading a bit (anecdotal, but that's what I am hearing, as the API performance gap continues and Apple has quit pushing it so hard).

Only 2 mobile GPUs are supported on OSX as your link shows.

If OP is using After Effects too, you also won't be able to use any of the new ray tracing features on any platform without CUDA unless you want to render for a day per frame.

In any case, use the right, fastest tool for the job.

sentry66
07-26-2012, 09:32 PM
Adobe has recently said in the last month or so they won't be making further CUDA developments and will focus on openCL because it reaches a broader audience and achieves about the same amount of acceleration.

I don't know if that means they will remove the CUDA optimization from their code entirely or if it means they won't bother to maintain what they have done.

everywhere
07-27-2012, 05:32 AM
Thanks everybody, glad I asked I had no idea OpenCL was anywhere close to CUDA. Premiere isn't my tool of choice so I'll go with AMD.

olson
07-27-2012, 03:44 PM
Either way for this particular thread it doesn't matter since the original poster isn't using Premiere Pro but I'm intrigued by the possibilities of OpenCL.

Only 2 mobile GPUs are supported on OSX as your link shows.


Seems like Adobe intends to change that in the future (read between the lines).

http://blogs.adobe.com/premiereprotraining/2012/05/opencl-and-premiere-pro-cs6.html

Why only those two cards?
We are very firmly committed to making Premiere Pro a stable, reliable, high-performance NLE. This involves thoroughly testing the configurations that we recommend and support. We needed to make sure that we could get the best possible performance and stability with these two very common systems before we could consider broadening our support to other systems.

Will you add more cards later?
We can’t talk about what we’ll do in the future, but I can ask that you look at how few cards Premiere Pro CS5 could use for GPU acceleration when it was first released, and then note how we’ve added cards to the supported list with several updates and upgrades. We make no promises about our future plans, but you may be able to determine something about our thought process by looking to past behavior.



In any case, use the right, fastest tool for the job.

There are a lot of things to consider in the short-term and the long-term which are not that easy to determine. There's a quote attributed to Albert Einstein that is very fitting, "Not everything that can be counted counts, and not everything that counts can be counted."

cgbeige
07-31-2012, 01:11 AM
the GPU-based blur gallery in Photoshop CS6 is all OpenCL. Premiere uses OpenCL on the MacBook Pros and I guess they'll eventually transition it but they didn't give a firm timeline when I was in NY for their CS6 announcements and workshops

Basicproduction
08-01-2012, 12:46 AM
what program will you be using for AV? - Have you built it yet?

aglick
08-01-2012, 02:59 AM
No software company or end-user wants to be tied to a closed ecosystem. This said, for software vendors who wanted to innovate and add value by offering their customers GPU-accelerated toolsets, CUDA was the only practical option for many years. CUDA, as a programming API, is very mature now, and there are a ton of very optimized math libraries that make it a snap for software developers to quickly implement parts of their code to run on a GPU. I take my hat off to nvidia for blazing trails and pushing folks to think hard about novel ways to use GPU technology to improve the usefulness and capabilities across a range of software applications and use-cases. CUDA helped enable a computing revolution.

Having said this, It seems pretty clear that the writing is on the wall for proprietary computing standards such as CUDA.

OpenCL started off with hardly any practical applications or staunch supporters. It was harder to develop in than CUDA and often times, the code that programmers got back from the compiler was anything but optimized. Things have, in places, been buggy -with only cursory debugging tools to give the program some hint for where to look to find stuff that was broken. And driver support for OpenCL from hardware makers (including us) has too often been, less than people had wished for. As a very young API, there were only a handful of pre-written libraries that coders could leverage to jump-start their development work. Most of the time, if they wanted an optimal OpenCL code for their application, they had to write the function from scratch. This is costly and difficult. For many companies, it made better business sense to develop for CUDA, despite the obvious limitations for their customers.

I'm not saying that OpenCL is now perfect. Nobody would say that. On the contrary, OpenCL is undergoing constant improvement all the time while the limits and challenges of implementing this still-young technology platform are continually being located and smashed through.

What I AM saying is that things have come a very long way in just a few short years. With the recent ratification of OpenCL 1.2 -and the hard work going in to defining the specifications for the upcoming OpenCL 1.3, there are increasingly fewer reasons for developers to accept the trade-offs inherent with a choice to leverage CUDA.

Tens of thousands of developers all over the world are contributing to OpenCL every day. Programmers have increasing flexibility to develop under OpenCL with access to more and more resources. New pre-canned code libraries and dev tools such as debuggers and performance profilers are making it easier to write powerful applications in OpenCL -and coding "best practices" shared across the developer community are helping amplify the effect. GPU driver support has gotten very solid of late and there are now many fewer developers running into walls with regard to performance and stability. Of course, because OpenCL can run on GPUs and CPUs (and cell phones and tablets and gaming consoles and even embedded devices, etd) software companies can now realize a new definition of "code portability" - with us consumers being the ultimate beneficiaries in a newly expanded universe of choices.

If you look at current programming job openings, you will see an interesting trend. Since Nov 2010, CUDA programming jobs have decreased by 52%. In the same time period, OpenCL developer jobs have increased 34%. http://www.simplyhired.com/a/jobtrends/trend/q-opencl%2C+cuda Looking at Google search term trends, we see a simmiliar pattern: http://www.google.com/trends/?q=opencl,+cuda&ctab=0&geo=all&date=2012&sort=0 OpenCL up. CUDA down. These bits of data are by no means a conclusive view of anything. But they are interesting to consider...

Recent announcements by software vendors around their newly OpenCL-enabled applications have increased dramatically over the past 18 months, with companies including ADSK, Sony, Adobe, Eyeon, and many others all seemingly jumping on the OpenCL bandwagon. There are countless other companies (and several that I wish like hell I could mention here) that are hard at work developing OpenCL-accelerated toolsets RIGHT NOW to be included in upcoming software release cycles.

SO, is CUDA worth it? There are many folks -professional designers and engineers- who have come to rely on CUDA for at least a portion of their pipeline. For some of these people, CUDA will probably continue to play a role for at least a little while longer -and perhaps a good while longer. If you've built a pipeline that is working for you, you are probably not simply going to abandon it as soon as a new option comes along. You are going to want to extract as much value and usefulness from your investment as you can before migrating to something new. After all, change is usually painful and expensive to varying degrees.

But for most of us, OpenCL represents the hope of greatly expanded access to faster and more flexible tools which we can incorporate into our current and future workflows -without having to worry about what hardware we choose. For many of us keeping track of such things, OpenCL seems to be on an apparent trajectory to render aging, proprietary GPU computing technologies obsolete while offering itself up to become the de facto (and open) standard for heterogeneous application acceleration. It's happening even now.



Sorry for the long post. I was in a zone... I'm especially sorry for the egregious use of really long sentences; sometimes I just can't help myself.

Oh, I should also say, just for the record, that my thoughts are my own and certainly not those of any other entity, including my employer. :p

Basicproduction
08-01-2012, 03:48 AM
Cool, thanks for explaining that and it being so well written! Long posts are always cool! Ha :)

everywhere
08-01-2012, 09:52 AM
what program will you be using for AV? - Have you built it yet?
No and After Effects, probably CS6.


No software company or end-user...
Thanks for the info, I'm even more confident in going with AMD now. I'm pretty sure I'm getting an HD 7770 for now, do you know how the OpenCL support for that model fares?

Basicproduction
08-01-2012, 10:15 PM
cool, I thought you meant something like Resolume :)

everywhere
08-02-2012, 01:46 AM
cool, I thought you meant something like Resolume :)

Oh wait I misread that, yeah for AV I plan to use Resolume. I plan to use AE for non-live editing.

Basicproduction
08-02-2012, 03:56 AM
cool, i seen you thread on vjforums too ;)

CGTalk Moderation
08-02-2012, 03:56 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.