Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I think the question is answered here but I'm still wondering if what is the difference between the units it is referring to.

For example, a GTX 570 has 480 CUDA cores, while the ATI equivalent HD 6970 has roughly 1536 Stream processor. It's quiet confusing how they have the same meaning yet different number but equivalent power.

share|improve this question
    
The same "meaning" is actually pretty broad. We're talking about cores designed for different instruction, and different internals. It's like saying why an Intel x64, AMD64 and various ARM CPU have different power even in equal frequency –  Martheen Cahya Paulo Sep 23 '13 at 8:36
    
I'm sorry but I got so confused, if I am to compare the two, then I have to know the equivalent of their tech specs 1 CUDA core = how many Stream processor or vice versa? Why are they saying that CUDA Core is the equivalent to Stream processor if they can't compare it at the 1st place? –  BlackHatShadow Sep 23 '13 at 8:40
1  
They compare it by executing standard technology, such as OpenCL. But the cores are actually optimized for their respective native instruction, so a spesialized compiler for CUDA could exceed a standard OpenCL compiler. Which mean, a faster OpenCL core wouldn't necessarily always run faster, depending on the instruction it's executing –  Martheen Cahya Paulo Sep 23 '13 at 8:50
1  
Even more complex than that, there are multiple layers of translation. CUDA too is translated by the driver. –  MSalters Sep 23 '13 at 10:01
1  
Can someone here explain in layman's term all of these complexities? –  BlackHatShadow Sep 23 '13 at 12:20
add comment

1 Answer

up vote 1 down vote accepted
+50

In layman terms, CUDA Cores and Stream processors are exactly the same. The question is similar to asking whether Intel and AMD CPUs are the same or not. The difference in names is mostly commercial branding.

Both NVIDIA and ATI/AMD cards are multi-core units excelling in executing parallel programs.

The difference is that AMD stream processors are smaller, simpler, and run on lower frequency. NVIDIA CUDA cores are bigger, more complex and run on a higher frequency. That's why one cannot judge by the number of processors.

Both cards use different architectures, where CUDA are more general-purpose. This difference also shows in the way programs are compiled to run on these cards. The CUDA compiler does less optimization, letting the card assign the cores as needed at runtime, while the AMD compiler optimizes much more as regarding core assignments.

Another difference is developer support, where NVIDIA does a much bigger effort to woo developers to their cards. This is why there many more libraries, code snippets and developer resources in general available for NVIDIA.

The effect of this difference in architecture depends on the task to do, and whether a greater number of processors, although slower ones, improves the performance or not. For example, AMD cards are much better for Bitcoin mining. For graphics, the comparison usually comes up as as a close match for similarly-priced cards.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.