Are GPUs and CPUs on a Collision Course?

9 Apr 2007

From ACM Queue:

PeakStream Founder and CTO Matthew Papakipos explains how the PeakStream Virtual Machine provides automatic parallelization of programs written in C/C++ so that developers can focus on their application logic — and not the intricate details of parallelizing the application — and ultimately improve the performance of HPC applications when running on multi-core processors.

Matt is a friend of a friend, and I spoke with him several months ago about his company and their premier product, PeakStream Platform. PeakStream provides enabling technologies that allow developers to more quickly take advantage of general-purpose computation on graphical hardware (also known as GPGPU). Current NVIDIA and ATI graphics cards have incredible power to perform certain types of mathematically intensive calculations in a streaming, data-parallel fashion; however, taking advantage of that power requires some deep programmer sophistication. While efforts such as HLSL, Cg, CUDA, and CTM have made GPGPU programming more accessible, a cursory look at the documentation for these technologies proves that it still isn’t anywhere near easy.

My personal take is that products that help developers take advantage of data-parallel hardware will be extremely important over the next five years. Beyond that though, it’s pretty obvious that graphics processors and general-purpose processors are on a collision course, with graphics processors getting larger and richer instruction sets and general-purpose processors getting more data-parallel constructs. Any product that simply bridges the two architectures will simply get squeezed out.

That said, I believe Matt and PeakStream have a few more cards up their sleeves than is quickly apparent in their current offerings. If they move beyond bridging technologies into data-parallelism modelling and debugging, they will continue to solve the problems that developers will have to reckon with even after the hardware converges.

Advertisements

4 Responses to “Are GPUs and CPUs on a Collision Course?”


  1. Hey again, Marc.

    “it’s pretty obvious that graphics processors and general-purpose processors are on a collision course, with graphics processors getting larger and richer instruction sets and general-purpose processors getting more data-parallel constructs.”

    Why do you think this is the case?

    Multicore and multiprocessor systems are becoming more commonplace, but the instruction sets for the processors themselves haven’t changed that much. True, there are some additions to x86/PPC such as MMX and altivec. I don’t really know how important these are though.

    From this perspective, until the architectures and instruction-sets of general-purpose processors change (look at the TRIPS processor, for example http://oea.cs.utexas.edu/articles/index2007/trips_unveiling07.html) it’s not the case that “Any product that simply bridges the two architectures will simply get squeezed out”.

    What is the difference between “bridging the architectures” as PeakStream is doing now and solving “the problems that developers will have to reckon with even after the hardware converges.”?


  2. This is an interesting article (“Intel presentation reveals the future of the CPU-GPU war”) supporting some of your conclusions: http://www.beyond3d.com/content/articles/31

  3. Marc Jacobs Says:

    Thanks for the link, Reuben.

    For a more interesting omen, check out the IBM/Sony/Toshiba Cell processor, the backbone of the Sony PlayStation 3. It is essentially one conventional general-purpose CPU allied with a handful of data-streaming co-processors. It’s a Frankenstein, but it’s also evidence that the convergence has already begun.

  4. Dmitri Says:

    What’s annoying is that multiple GPUs all share the same bus on the motherboard, which means that you can’t add 4 PCI-E expansion boards and stick a graphics card in each of the 32 slots you get, because you’ll be limited by the bus speed… or am I wrong?


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: