max number of threads

Hi All,

In the nvidia’s website it’s written that gtx 280 has 240 “Processor Cores”, and in the “nvidia device architecture manual” it’s said that gpu runs a kernel on “multiprocessors” which each of them consists of 8 “Scalar Processor”. I am confused if the “Processor Cores” and “multiprocessors” are referring to the same thing or they are different!!??

How can we calculate the maximum number of threads which can work simultaneously? for example, in gtx 280 if this number is correct: 240x8x512?!
in which:
240: the number of processor cores
8: the max number of thread blocks that can be run concurrently
512: the max number of threads in a block

Thank you.

240 ALUs = 30 multiprocessors * 8 ALUs per multiprocessor.

Forget about ALUs. Everything on the GPU happens at the warp level. Appendix A says that the compute 1.3 devices (GTX 280) can have up to 32 warps running concurrently on one multprocessor. So the maximum total number of concurrent threads is: 32 warps/MP * 32 threas/warp * 30 MPs = 30720

Thanks for your reply…

and can we say that GTX 280 has 30720 “Scalar Processors” too?! :blink:

b/c each thread is mapped on one SP core…!

No, not really. That is the number of threads that the hardware can run concurrently. Of course, only 240 are running simultaneously. The concurrent threads are all run in an interleaved fashion to hide memory latency: the programming guide and any number of online articles discuss the details.

Because of the details of the way the multiprocessors run, it really don’t make any sense to talk about scalar processors.