• We should now be fully online following an overnight outage. Apologies for any inconvenience, we do not expect there to be any further issues.

Is it better to go with Nvidia or AMD for photoshop?

Page 4 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

sandorski

No Lifer
Oct 10, 1999
70,785
6,345
126
Correct me if I'm wrong, and I probably am or it's not available, but wasn't the Trinity CPU trouncing Video Cards using OCL extensions for PS?
 

moonbogg

Lifer
Jan 8, 2011
10,731
3,440
136
What? I thought photoshop would run on anything. How is touching up a picture going to lag anything with a faster CPU than what you'd find in, oh say, a wrist watch?
 

Vesku

Diamond Member
Aug 25, 2005
3,743
28
86
Photoshop implements Physx? Seems like the best bet for judging what would be better would be finding photoshop people with the cards you are considering and asking nicely for them to test whatever the most time consuming tasks are for you. It's one of those software packages that really depends on how you need to use it.
 

Keysplayr

Elite Member
Jan 16, 2003
21,219
55
91
....and that matters because? I fail to see how an added abstraction layer is anything worth caring about? I mean if you wanted to make a "cuda cuda cuda" comment you could say that everything runs through "cuda" as the shader cores are called "cuda cores" on their cards. There's quite a difference between simply using something and benefiting from using something.

No idea what you're getting at.
 

nismotigerwvu

Golden Member
May 13, 2004
1,568
33
91
OpenCL is run through CUDA on CUDA hardware.

....and that matters because? I fail to see how an added abstraction layer is anything worth caring about? I mean if you wanted to make a "cuda cuda cuda" comment you could say that everything runs through "cuda" as the shader cores are called "cuda cores" on their cards. There's quite a difference between simply using something and benefiting from using something.

No idea what you're getting at.

Then allow me to further explain. You state that "OpenCL is run through CUDA on CUDA hardware", which on the surface appears to be a mashup of several marketing terms.

At best, you are saying that "OpenCL is run through CUDA on CUDA hardware" as a reference to "CUDA Cores" or as the industry to the hardware, shaders. Sadly you'll notice I said this is the best case scenario as it is just pure marketing speak. What if Intel started referring to their shader hardware as "Awesome Engines", would you say that "OpenCl runs on Awesome Engines on Intel hardware"? Regardless this is irrelevant as anyone who knows what OpenCL is knows that the processes are run on shader hardware on GPUs, meaning the comment adds nothing to the discussion.

At worst, when you say "OpenCL is run through CUDA on CUDA hardware" you are stating that Nvidia's OpenCL implementation is a "wrapper". A wrapper functions by intercepting API calls of one type (OpenCl in this case) to another (CUDA). This is hardly a good thing. Compared to a native implementation, wrappers will be slower, less compatible and buggy. Even in the best cases (3dfx's minigl driver that went from OpenGL to Glide as glide was more or less a streamlined subset of OpenGL) there was a noticeable performance hit. Considering Nvidia's emphasis on GPGPU I'd be quite shocked if this was actually true and they lack a native OpenCL implementation.

So tell me, what is it you are getting at?
 

Keysplayr

Elite Member
Jan 16, 2003
21,219
55
91
Then allow me to further explain. You state that "OpenCL is run through CUDA on CUDA hardware", which on the surface appears to be a mashup of several marketing terms.

At best, you are saying that "OpenCL is run through CUDA on CUDA hardware" as a reference to "CUDA Cores" or as the industry to the hardware, shaders. Sadly you'll notice I said this is the best case scenario as it is just pure marketing speak. What if Intel started referring to their shader hardware as "Awesome Engines", would you say that "OpenCl runs on Awesome Engines on Intel hardware"? Regardless this is irrelevant as anyone who knows what OpenCL is knows that the processes are run on shader hardware on GPUs, meaning the comment adds nothing to the discussion.

At worst, when you say "OpenCL is run through CUDA on CUDA hardware" you are stating that Nvidia's OpenCL implementation is a "wrapper". A wrapper functions by intercepting API calls of one type (OpenCl in this case) to another (CUDA). This is hardly a good thing. Compared to a native implementation, wrappers will be slower, less compatible and buggy. Even in the best cases (3dfx's minigl driver that went from OpenGL to Glide as glide was more or less a streamlined subset of OpenGL) there was a noticeable performance hit. Considering Nvidia's emphasis on GPGPU I'd be quite shocked if this was actually true and they lack a native OpenCL implementation.

So tell me, what is it you are getting at?

Ummm.

OpenCL is run through CUDA on CUDA hardware. That is pretty much what I'm getting at. I still have no clue, and now no interest in discovering what the heck tangent you are going off on. But have fun though. :: shrugs ::
 

nismotigerwvu

Golden Member
May 13, 2004
1,568
33
91
Ummm.

OpenCL is run through CUDA on CUDA hardware. That is pretty much what I'm getting at. I still have no clue, and now no interest in discovering what the heck tangent you are going off on. But have fun though. :: shrugs ::

Wow, just wow...

Are you that determined to derail this thread? It's gone from strawman arguments, to begging the question to just flat out random incomplete thoughts without any sort of context. Sorry man, but I'm not taking the bait here. Plain and simple, Adobe decided to move away from a vendor locked API to a vendor agnostic one to the benefit for the industry at large. Despite your lack of willingness to admit the difference between CUDA, the GPGPU API and CUDA Core shader hardware, Photoshop CS6 interfaces with GPUs through OpenCL. One would think a former mod would be above attempted trolling.
 

Keysplayr

Elite Member
Jan 16, 2003
21,219
55
91
Wow, just wow...

Are you that determined to derail this thread? It's gone from strawman arguments, to begging the question to just flat out random incomplete thoughts without any sort of context. Sorry man, but I'm not taking the bait here. Plain and simple, Adobe decided to move away from a vendor locked API to a vendor agnostic one to the benefit for the industry at large. Despite your lack of willingness to admit the difference between CUDA, the GPGPU API and CUDA Core shader hardware, Photoshop CS6 interfaces with GPUs through OpenCL. One would think a former mod would be above attempted trolling.

Calm yourself. You're taking this way too far from my simple comment that OpenCL runs through CUDA on CUDA hardware. I don't really know what you're getting so excited about. And at this point, I really don't care for your tone either. Calm it.
Read: http://www.nvidia.com/object/photoshop-cs6.html

You do realize that OpenCL is actually based on early versions of the CUDA programming language (C++ for CUDA). OpenCL runs beautifully through CUDA on CUDA hardware.
 
Last edited:

nismotigerwvu

Golden Member
May 13, 2004
1,568
33
91
Calm yourself. You're taking this way too far from my simple comment that OpenCL runs through CUDA on CUDA hardware. I don't really know what you're getting so excited about. And at this point, I really don't care for your tone either. Calm it.
Read: http://www.nvidia.com/object/photoshop-cs6.html

You do realize that OpenCL is actually based on early versions of the CUDA programming language (C++ for CUDA). OpenCL runs beautifully through CUDA on CUDA hardware.

If you read through my comments at all you would realize I already knew that and referenced it. I'll make the reference again just in case your reading comprehension isn't very solid. Glide was a streamlined subset of OpenGL, essentially integrating the gaming pertinent portions (at the time) and tossing away the rest, leaving a lean mean API. The original Voodoo architecture was a hardware implementation of Glide itself. This was my "best case scenario" I was referring to with the regards to the 3dfx MiniGL driver, which was actually an OpenGL to Glide API wrapper. However, even under these mostly ideal conditions, there was still a significant performance hit with this wrapper as opposed to the native driver that was released. Even if your statement of "OpenCL is actually based on early versions of the CUDA programming language" is true, that's still saying that Nvidia's current OpenCL implementation (according to you) is quite suboptimal. Sharing a common ancestor doesn't make two things equal; you would know this if you've ever gone to a Zoo and tried to strike up a conversation with a primate. There ARE differences between CUDA and OpenCL, I would know, I've used them both. I just so happen to be a phd holding Biochemist who has dabbled in molecular modeling, which just so happens to be an excellent application of GPGPU. Which API I felt was better isn't really pertinent to this conversation, but I can tell you they are NOT the same on the API level. So parroting that "OpenCL runs though CUDA" is not a supportive statement for Nvidia. You might as well be saying "OpenCL is poorly implemented on Nvidia hardware" when you say that. Shall I hand you a shovel there to keep digging or are you going to disappear from this thread again like after you finally learned what strawman arguments, begging the question and other fun logical fallacies were?
 

minitron

Member
Mar 12, 2012
124
0
0
Serious about PS? Get an iMac, best screen out there which is the most important thing in PS in all reality.
 

moriz

Member
Mar 11, 2009
196
0
0
Best screen? Please. The iMac screen is hardly the best. The glossy finish ensures that no professional would ever use it.

And even if you really want it, get the LED cinema display. It's the same screen, minus the crappy Mac parts.
 

ocre

Golden Member
Dec 26, 2008
1,594
7
81
cuda is the code that unlocks the power of programing directly on nvidia GPUs. It is much stronger as it is more specific to their hardware. OpenCL is a universal language that can be ran accross platforms but on nvidia cards it runs through CUDA. CUDA is a much more direct and powerful way to completely utilize the full program-ability of their hardware. Nvidia is actually much further along in this field. Tesla markets that are supercomputers for so many fields needed more direct and powerful tools to optimize the hardware for very important precise task. CUDA allows nvidia to do be able to do things on a level that is unmatched. People saying nvidia should drop cuda have absolutely no understanding at all and shouldnt really be speaking on the matter.

CUDA is much more than most realize. Nvidia was thinking really really big when they came up with CUDA. Photoshop acceleration doesnt define CUDA at all. For the average general application like this openCL would be great. It will accelerate the tasks and be good at it. But cuda is way more fine tuned to specific hardware for much more critical task than this generalized consumer product.

To give you a really rough idea of how it works I will try to explain. lets look at the old days of PC. We had DOS which windows 3.1 ran on. for nvidia we have CUDA which openCL runs through. This is real generic but its sort of a way to help you understand what it means when keys says openCL runs through CUDA for nvidia cards. OpenCL is great for us, it can serve a great purpose. CUDA is serving one too, one that really is wide spread. It has its purpose and its ignorant to act as if its a bad thing. They coexist and will for sometime to come. As far as consumer products, developers using openCL makes more sense doesnt it?
 

minitron

Member
Mar 12, 2012
124
0
0

railven

Diamond Member
Mar 25, 2010
6,604
561
126
To give you a really rough idea of how it works I will try to explain. lets look at the old days of PC. We had DOS which windows 3.1 ran on. for nvidia we have CUDA which openCL runs through. This is real generic but its sort of a way to help you understand what it means when keys says openCL runs through CUDA for nvidia cards. OpenCL is great for us, it can serve a great purpose. CUDA is serving one too, one that really is wide spread. It has its purpose and its ignorant to act as if its a bad thing. They coexist and will for sometime to come. As far as consumer products, developers using openCL makes more sense doesnt it?

Nismotigerwvu already addressed this and I think you guys should go back and re-read what he is saying. He makes a good point and you guys are going into defense mode even though he isn't attacking CUDA negatively.

To use your example against you, Windows XP did away with DOS and the world was a better place :)
 

f1sherman

Platinum Member
Apr 5, 2011
2,243
1
0
@railven

Honestly I have no idea what Nismotigerwvu is trying to say.

Last thing I gathered from him, is that he's unhappy because OpenCL is not run natively and on the lowest level possible on Nvidia hardware,
but instead they have this silly CUDA... which should not even bare the name.
 

Dribble

Platinum Member
Aug 9, 2005
2,076
611
136
Back to the original topic I'd go nvidia simply because they have better drivers. AMD's past support of opencl was far from optimal (e.g. it wasn't part of standard drivers, it only came out for occasional driver versions, it arrived much later then nvidia's opencl driver).

Basically nvidia put a lot more effort into compute then AMD - they've been championing it for years and have huge dev teams working on it. AMD gives it lip service. The cuda vs opencl argument is a bit of red herring, doesn't matter. If you see an opencl app out there it was almost certainly developed on nvidia hardware, even the ones on AMD marketing slides (e.g. bullet physics).

Hence for a stable system you buy nvidia.
 

railven

Diamond Member
Mar 25, 2010
6,604
561
126
@railven

Honestly I have no idea what Nismotigerwvu is trying to say.

Last thing I gathered from him, is that he's unhappy because OpenCL is not run natively and on the lowest level possible on Nvidia hardware,
but instead they have this silly CUDA... which should not even bare the name.

If you can't understand what he is saying, I'm not sure if I can say it any clearer. It doesn't seem he is "unhappy" with anything and is just stating something he thinks would be better.

If you notice he not once said get rid of CUDA or CUDA doesn't have a purpose, but people sure are jumping on him like he is against CUDA.

Keys already made a fool of himself earlier, it just seems people are trying to save face and attack the strawman and losing focus of what he is saying.
 

moriz

Member
Mar 11, 2009
196
0
0
You first say the iMac display is not the best then go on to suggest the Cinema Display. Cognitive dissonance, look it up.

Here's the Anand's review of the 27" iMac, including the display.

Might want to brush up on your understanding of the English language. I'm not suggesting the cinema display at all. I'm saying that if you really want the screen, you MIGHT AS WELL get the cinema display, since you are at least not saddled to a Mac.

Reading comprehension, look it up.
 

Dark Shroud

Golden Member
Mar 26, 2010
1,576
1
0
Back to the original topic I'd go nvidia simply because they have better drivers. AMD's past support of opencl was far from optimal (e.g. it wasn't part of standard drivers, it only came out for occasional driver versions, it arrived much later then nvidia's opencl driver).
AMD's OpenCL "pack" wasn't part of the main CCC package to download. It is now and works great so get over it.

Basically nvidia put a lot more effort into compute then AMD - they've been championing it for years and have huge dev teams working on it. AMD gives it lip service. The cuda vs opencl argument is a bit of red herring, doesn't matter. If you see an opencl app out there it was almost certainly developed on nvidia hardware, even the ones on AMD marketing slides (e.g. bullet physics).

Hence for a stable system you buy nvidia.

Did you miss all the tests run on the GTX 670 & GTX 680 where the AMD cards blow them out of the water on GPGPU? It doesn't matter how much work Nvidia puts into GPGPU when they strip it out of the gaming cards.

Since you seem to be stuck in two years ago how about you bring up tessellation. Oh right AMD is good at that now too.

In CS6 Adobe switched to OpenCL and that currently runs better on AMD cards.

When it comes to games it really doesn't matter because MS put Direct Compute into DirectX 11. I wonder how well those GTX 600 cards will do when that starts becoming commonly used.
 

minitron

Member
Mar 12, 2012
124
0
0
Might want to brush up on your understanding of the English language. I'm not suggesting the cinema display at all. I'm saying that if you really want the screen, you MIGHT AS WELL get the cinema display, since you are at least not saddled to a Mac.

Reading comprehension, look it up.
Why do you even say you "might as well" when you obviously have knowledge of a better display.

Please provide a link with said display and a review that states it's better than iMac display.


You also failed to read the review on Anand's that points out the iMac actually has a better display than the stand-alone Cinema Display.

You've suggested and contributed nothing and obviously never actually looked at reviews. Apparently that's hard when you're already on the site forums.:whiste:

It's easy to state things off the hip without any sources.
There are much better IPS panels on the market.
Link to said display? Link to review that says whatever you're talking about is better than iMac display?
 

f1sherman

Platinum Member
Apr 5, 2011
2,243
1
0
In CS6 Adobe switched to OpenCL and that currently runs better on AMD cards.

Not really. CUDA is still more widely supported.


What can Premiere Pro CS6 process with OpenCL?
Everything that Premiere Pro CS6 can process with CUDA, with four exceptions:

  • Fast Blur effect
  • Gaussion Blur effect
  • Directional Blur effect
  • Basic 3D effect

Not to mention that only 2 AMD gpus are supported, or that you NEED Mac OS for OpenCL acc.

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