Because GPU's by their design are VERY FAST at dealing with simple opreations, and they are very parallel. If the core can be run easily in parallel then it will be very fast. Usually the code is very simple though. One GPU "shader core" is simplier than FPU core in CPU.
Problems arise when the GPU has to start to deal with memory mapping, stack management, hardawre interrupts, be compatible from 16 to 64 bits ISA, carry on the legacy stuff, have huge caches and very agile branch predictors and prefetchers. Oh, add that to a GPU and voila, you've got a CPU.
...why aren't we using GPU for general purpose central processing if they're so awesome?
And as people liked to compare GPU flops and CPU flops.. Someone write a Queens benchmark for GPU and we will speak. It's a very branchy benchmark, and basically GPUs don't like that kind of a code.





Reply With Quote
Bookmarks