Thursday, July 8, 2010

Debunking the 100X GPU vs. CPU myth: An evaluation of throughput computing on CPU and GPU

Just read a very interesting article on the continuing debate between GPU and CPU and their relative performance. Its between Intel and Nvidia; not surprising its not AMD vs. ATI or Intel vs. ATI- that would REALLY be interesting. Here's the abstract

Abstract:
Recent advances in computing have led to an explosion in the amount of data being generated. Processing the ever-growing data in a timely manner has made throughput computing an important aspect for emerging applications. Our analysis of a set of important throughput computing kernels shows that there is an ample amount of parallelism in these kernels which makes them suitable for today’s multi-core CPUs and GPUs. In the past few years there have been many studies claiming GPUs deliver substantial speedups (between 10X and 1000X) over multi-core CPUs on these kernels. To understand where such large performance difference comes from, we perform a rigorous performance analysis and find that after applying optimizations appropriate for both CPUs and GPUs the performance gap between an NVIDIA GTX280 processor and the Intel Core i7-960 processor narrows to only 2.5x on average. In this paper, we discuss optimization techniques for both CPU and GPU, analyze what architecture features contributed to performance differences between the two architectures, and recommend a set of architectural features which provide significant improvement in architectural efficiency for throughput kernels.
I'm a big fan of GPUs and recognize the value of CPUs but one thing i'll like to keep in mind is that GPUs though not a young technology (in 2010) but they are young as compared to the CPU as we know it today. Go read it and form your own ideas about it.

My thoughts...

The design and purpose of the CPU and GPUs were entirely different and for decades the GPU have always played a complementary role to the CPU, but things are shifting as we speak from massively-parallel antivirus engines etc. Like any IT product in the market today, it will go through the usual adoption and evolution phases before i can even see it attempt to supplant the CPU. How far away are we? I like to know too.

So...

If i were a bystander reading the article, first reaction would be - Has the GPU finally caught up with the CPU to prompt an intensive study of this nature by the largest CPU producer in the world ? Perhaps i should REALLY pay attention to it.


0 comments: