Is CUDA really worth it?

Become a member of the CGSociety

Connect, Share, and Learn with our Large Growing CG Art Community. It's Free!

THREAD CLOSED
 
Thread Tools Search this Thread Display Modes
  07 July 2012
Is CUDA really worth it?

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.
 
  07 July 2012
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).
__________________
http://www.whenpicsfly.com
 
  07 July 2012
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
 
  07 July 2012
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.
__________________
Fix it in pre.
 
  07 July 2012
Originally Posted by dmeyer: 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/premiereprot...re-pro-cs6.html

Quote: 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?
__________________
http://www.whenpicsfly.com
 
  07 July 2012
Originally Posted by olson: 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/premiereprot...re-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.
__________________
Fix it in pre.
 
  07 July 2012
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.
 
  07 July 2012
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.
 
  07 July 2012
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.

Originally Posted by dmeyer: 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/premiereprot...re-pro-cs6.html

Quote: 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.


Originally Posted by dmeyer: 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."
__________________
http://www.whenpicsfly.com
 
  07 July 2012
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
 
  08 August 2012
what program will you be using for AV? - Have you built it yet?

Last edited by Basicproduction : 08 August 2012 at 03:50 AM.
 
  08 August 2012
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/jobtre...-opencl%2C+cuda Looking at Google search term trends, we see a simmiliar pattern: http://www.google.com/trends/?q=ope...ate=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.
__________________
http://adamglick.net

Last edited by aglick : 08 August 2012 at 02:44 PM.
 
  08 August 2012
Cool, thanks for explaining that and it being so well written! Long posts are always cool! Ha
 
  08 August 2012
Originally Posted by Basicproduction: what program will you be using for AV? - Have you built it yet?

No and After Effects, probably CS6.


Originally Posted by aglick: 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?
 
  08 August 2012
cool, I thought you meant something like Resolume
 
Thread Closed share thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright ©2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 08:35 PM.


Powered by vBulletin
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.