• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

NVIDIA CUDA vs. AMD (ATi) Stream

valis1

Limp Gawd
Joined
Dec 11, 2010
Messages
183
Has there been any thorough comparisons between NVIDIA CUDA vs. AMD (ATi) Stream?

Many reviews (that I've read) disregard major CUDA functions boasting ATi Stream is superior.
 
Are there any games or apps that actually support both that could be used as a comparison?

I don't think there was ever anything wrong with Stream really, but CUDA basically had/has a stranglehold on the market.

Going forward I would bet on OpenCL becoming popular before Stream ever does.
 
coreAVC supports both. i think handbrake also supports both. windvd also supports cuda not too sure if it supports stream
 
Well the only area in which they have been tested head to head has been video encoding, and there if you use the basic CUDA path, it is indeed faster than AMD stream, but it introduces artifacts to the encoding so it is better to consider those tests mostly irrelevant.
http://www.anandtech.com/show/4083/...-core-i7-2600k-i5-2500k-core-i3-2100-tested/9

If you go with professional encoding software, some does have a modified, and thus higher quality, CUDA path. Your best bet all in all is to ask in more specific A&V forums. I'll try to fetch you a link with the regards of higher quality encoding paths.


I think that this is where i saw the mention of different CUDA encoding paths:
http://forum.videohelp.com/threads/332236-cuda-h264-very-bad-quality
 
Last edited:
Are we talking about programming model or available software or both?
As a fairly involved GPU programmer, I can say that CUDA is the way to go if you want to get GPU-accelerated simulation/scientific app up and running right now. CUDA has much better documentation and a strong commercial backing, and is also slightly faster. It also supports things such as classes and operator overloading.
However, Stream (OpenCL) is probably the safe bet on the long run. CUDA is proprietary (though I hear it got semi-open-sourced) and there's no telling what will happen to it.
 
Thanks for the replies and information.

I was fairly vague in my request and looking for comparisons between the two as for performance gains, rendering and whatnot.

I'm now just back in the market for a GPU that will support applications such as Revit/CAD functions, as well everyday usage (movies, dvd, bluray, and perhaps some games...), without having to buy the bank for a telsa card.

I wanted to jump into buying an ATI this year, but now that I'm heavily into Revit/CAD I may be stuck with having to purchase an nvidia based card. However, if AMD APP (OpenCL) were to take off it seems that AMD is the way to go...
 
Last edited:
Here is some comparisons of firestream vs quadros (it's a bit outdated but shows the differences in the cards more than CUDA vs AMD ____). As they both had to be specifically called, it depends on the developers to add support for these languages. CUDA does tend to be more widestream, but there is the occasional program that favors AMDs code and therefore works better with it. So it really depends on what programs you use to which brand would be better.


Well the only area in which they have been tested head to head has been video encoding, and there if you use the basic CUDA path, it is indeed faster than AMD stream, but it introduces artifacts to the encoding so it is better to consider those tests mostly irrelevant.
http://www.anandtech.com/show/4083/...-core-i7-2600k-i5-2500k-core-i3-2100-tested/9

CUDA rendering is fine as long as the programers aren't morons...i've never noticed any artifacts like those in 1400p dark dark footage using CUDA renders. So I'm going to guess it's just whatever program this is being written poorly or full of bugs. :p
 
They just used the base nvidia SDK on that program, so well, i guess that the Nvidia programmers are morons ;)
Same thing if you use Badaboom, base nvidia cuda sdk, and i can't really recommend that program.

The thing is that since it is something you can program, then there is always a chance to find some path with a better quality/speed tradeoff.
 
I think neither. As a programmer why would I limit myself to a proprietary software model? Why limit where your application can be used. I say go with OpenCL which can be used on both Nvidai and AMD's GPU's. There's also the ability to have your program run on anything that has an OpenCL compliant driver which should cover you down the road for devices which haven't even been invented yet(as long as Kronos maintains the backward compatability that is). The only reason I can think of to go with CUDA or Stream is that you have a little less abstraction and hence are running a little closer to the metal so you might see some performance gains. There is some level of abstraction even in those two though because they have to maintain operability between generations of cards or resort to generation specific optimizations which over time can get a bit hairy to deal with. Just my two cents
 
I think neither. As a programmer why would I limit myself to a proprietary software model? Why limit where your application can be used. I say go with OpenCL which can be used on both Nvidai and AMD's GPU's. There's also the ability to have your program run on anything that has an OpenCL compliant driver which should cover you down the road for devices which haven't even been invented yet(as long as Kronos maintains the backward compatability that is). The only reason I can think of to go with CUDA or Stream is that you have a little less abstraction and hence are running a little closer to the metal so you might see some performance gains. There is some level of abstraction even in those two though because they have to maintain operability between generations of cards or resort to generation specific optimizations which over time can get a bit hairy to deal with. Just my two cents

Apparently programmers over at Milkyway are now able to run Nvidia optimized OpenCL code on Radeon OpenCL hardware with not too many changes. And probably eventually the other way around too.

Step in the right direction!
 
Apparently programmers over at Milkyway are now able to run Nvidia optimized OpenCL code on Radeon OpenCL hardware with not too many changes. And probably eventually the other way around too.

Step in the right direction!

if only that step wasn't necessary!
 
if only that step wasn't necessary!

Indeed... in theory having a good HAL in the SDK should work, but in practice... it still needs a lot of work.

But this type of GPU programming is different, and also still developing... just optimizing threads on a quad core CPU is challenging, then there are now 2000+ "partial" GPU cores to schedule...
 
Back
Top