| Gradual Shift from CPU to GPU for Applications |
|
| July 2011 | |
|
Our previous understanding that the CPU is the central processing unit is going to change. More and more software applications respond to GPU more than to CPU these days and the trend may follow an exponential curve. GPU is graphical processing unit. It was previously a subsystem of a computer system solely responsible for the graphical display function of a computer. That is not true now. The above change was brought about by the advents of CUDA and Stream. CUDA is an Nvidia creation and Stream belongs to AMD. Nvidia and AMD are the 2 leaders in GPU technology. Some twenty years ago, they would be competing among 100 vendors to produce graphics adaptor cards and fight for market share. Today, they have created this duopoly for themselves. CUDA is by far more popular than Stream as CUDA is taught in over 350 universities across the globe. CUDA stands for Compute Unite Device Architecture. It is a scheme for uniting the processing capabilities of CPU and GPU and the implementation is through hardware and software. For any application to take advantage of hardware with CUDA cores, it must have CUDA application programming interface. Furthermore, the interface must be consistent with the version of the hardware cores. Many commercial off the shelf (COTS) software packages have been tuned to CUDA but far more have not been. Those packages not tuned to CUDA will continue to respond to CPU capabilities and not to GPU. Those that are fine tuned to CUDA will respond to GPU better than CPU. We have done a lot of performance tests in our workshop on various COTS packages with CPU and GPU variations. Some packages jumped in performance when we replaced Quadro Fermi 600 GPU with 2000. These packages responded slightly more when we replaced a Core i3 CPU with Core i7, and did not respond at all if the main memory was increased from 4GB to 8GB (on Windows 64bit).
At the same time, we have found many COTS packages that responded to CPU and not to GPU. A good tool for revealing the above is called SPECviewperf11 but this tool is limited to 8 popular CAD or rendering software packages only. See this page to learn about it. http://www.compucon.co.nz/content/view/847/254/
AutoCAD from AutoDesk and Premiere Pro Creative Suite from Adobe are popular software packages. They have their own tools for benchmarking hardware performance. We have done tests with these tools for our internal reference. We are able to tell which hardware responds and which does not. |

