Difference between Cuda Core (Nvidia) and Stream Core(ATI)?


What’s a difference between Cuda Core (Nvidia) and Stream Core (ATI)?

In ATI Radeon HD 5870 have 20 Compute Units, and inside of each compute unit have 16 Stream Cores, thus totaling 320 Stream Cores.

Already in Nvidia GEFORCE 560 your specifications said that have 336 Cuda Cores and when i run a application and get the number of compute units, it’s returned 7.

If Cuda Core is the same of Stream core, then each compute unit have 48 cuda cores in Geforce 560?


No one knows?
I’m really with doubts about that. Cause i guess that have difference in balance the workload in ATI and NVidia GPUs.

Very Thanks,

Luiz Drumond.

AMD hasn’t called it ATI Stream for a good while.

Each vendor has their own terminology that usually tries to create bigger numbers somewhere so they look more impressive than their competitors. They may not be directly comparable at any point.

Even at the ‘compute unit’ level, for example, the 5870 executes up to 5 instructions per thread per clock within each thread (i.e. 5x16x20 ops), but you never get that in practice. I don’t really know about the nvidia stuff, beyond that it is scalar, so is 1 instruction per thread.

You need to read the manuals in detail - although the amd programming guide has a fair bit about the physical hardware, the nvidia one doesn’t, and only has a general software abstraction view of it. Could try anandtech/toms hardware magazine articles about the specific architectures as well.

Yes. OpenCL compute units map to physical multiprocessors available on GPU devices, and the 560 has 7 multiprocessors. Since it’s an NVIDIA GPU with CUDA capability 2.1, it has 48 processing elements (“CUDA cores”) per multiprocessor.