You are on page 1of 2

Assignment - 01

September 30, 2011

Question:

GPUs are said to give higher performance than CPU. Compare bandwidth and computational intensity
Answer:

GPUs have been used for Graphics processing i.e. as a co-processor like many other computing units from a long time. But people realised that for dataintensive tasks GPUs give better performance than CPUs, since then GPUs are used for general purpose computing. But, CPUs as the name suggests play a more centralised role. CPU is the most important part of a system as it is responsible for controlling all types of devices and their functionality. They oer context switching, multi-tasking, data transfer, and overall management.
Clock Speed:

CPU have always been clocked to a higher frequency than GPUs. Fastest CPU today is clocked at 8.429 GHz (Bulldozer 8-core) whereas the fastest GPU in terms of clock speeds is clocked at around 1.2 GHz. The reason GPUs have lower clock speed is because of power consumption by the device (also power/thermal envelope), faster the clock more power it consumes. Nevertheless, GPUs have far more number of transistors than CPUs. CPU vs GPU transistors Intel i7 Hexa Core (6) @ 32nm = 1,170,000,000 Nvidia G100 @ 40nm = 3,000,000,000
Bandwidth:

Bandwidth plays an important role in the performance of a processor. L1 Cache to RAM of a CPU peaks at around 50GB/s this is almost the same with the GPU. But, when the bandwidth of shared memory of a GPU is considered and compared with L1 cache of the CPU, GPU emerges as a winner oering ~4.7X the speed. When bytes per op is considered it will be ~1.6X. We must also 1

consider the fact that the bandwidth of a GPU also relies on the CPU, since the CPU is responsible for transferring the data to the GPU via a special bus PCIe (PCI express) which has to be signicantly fast to carry the data. High speed communications like InniBand have been designed to take care of this disadvantage.
Throughput:

There have been many studies claiming that GPUs deliver substantial speedups compared to that of CPUs owing to the data-parallelism that exists in the application. Any application which requires lot of computations and which does not exhibit much divergence in terms of memory access or control is considered to give a good speedup on GPUs. Vendors of both GPUs and CPUs have extensively tested their products and have come up with astonishing results. Although GPU oers a much higher GFLOPS than a CPU can ever give. Eg., NVIDIA GTX280 gives 1TFLOP peak throughput and a Intel Core i7-960 gives 102.4 GFLOPS peak throughput. CPU vendors have very much tried to prove that CPUs and GPUs are much closer in performance at about 2.5X. Eventually, they agree that the speedups are purely situational.
Conclusion:

Although GPU gives a higher throughput and sports a higher bandwidth in terms of cache to processor, CPUs have their own advantages e.g. they provide for fast synchronization, something that is not eciently implemented on GPUs. In GPUs the availability of SFUs (Special Function Units) like texture sampling units and math units for fast transcendental helps speedup throughput computing applications that spend substantial amount of time in these operations. AMD has unvieled a new generation of processors that can take the best of both worlds, the AMD Fusion APUs which has both CPU and GPU on the chip which narrows the gap that exists between a CPU and GPU. Heterogeneous processors like this are being designed to take advantage of the massive parallelism supported by GPU and the traditional processing power by the CPU.

You might also like