Cache memory


Can anybody tell me why do we have smaller caches in GPUs as compared to CPUs?

Thanks for your time!

Historically GPU devotes more transistors to ALUs than cache or flow control units. This is the reason of enormous computational power.
See sec. 1.1 of Programming Guide 2.3.


But dont you think that increasing the cache will mean faster execution of threads, because the DRAM memory access will reduce, which is limited by the memory bandwidth. So why not put more caches??

DRAM memory access will not necessarily reduce. The access time stays the same, only when you get a cache hit you do not need to go to DRAM.

For streaming operations this is often not the case, so you stay bound by DRAM access speed. This is one of the reasons that a larger cache will not help a CPU for streaming data processing.