Inside Intel's CPU/GPU Chip, Larrabee

Nvidia and AMD (ATI) currently dominate the high-end GPU space. Both companies' GPUs are heavy-duty vector processing units with fixed pipelines optimized for graphics operations. They are capable of processing large amounts of data in parallel, which is why a good high-end graphics card can do more for your video gaming experience than nearly any other system component. This power comes at the price of versatility in the kinds of algorithms that can run on the GPU. If the algorithm requires a dynamism that does not map to the GPU's architecture, the GPU can't run it. For example, ray tracing, a powerful technique used to create photorealistic graphics in digital images, cannot run on currently available GPUs. Another architectural limitation of current GPUs is that they don't have shared coherent memory caches, so data has to be shipped to the GPU and back, consuming bandwidth on the PCI bus.

Coming soon from Intel is the Larrabee graphics chip. Larrabee is the first hybrid CPU and GPU, and consists of multiple in-order CPU-style processors. It runs an extension of the x86 instruction set, which is already familiar to many programmers. Instead of the more rigid fixed-function pipelining methods of other GPUs, it uses a hybrid bidirectional ring bus. This gives it the flexibility to run dynamic algorithms like ray tracing. Larrabee can also emulate if/then/else control logic with the help of mask registers contained within its vector processing units. Each core has access to its own subset of Larrabee's integrated L2 cache, eliminating the need to shuttle data back and forth over the PCI bus.

One of the additional challenges facing Larrabee will be the need to provide a general-purpose GPU (GPGPU) programming solution that competes with those offered by Nvidia and AMD. Nvidia has the popular CUDA API and SDK that supports Nvidia GPUs; AMD has for its GPUs the Stream initiative, which supports OpenCL, an open and royalty-free programming standard for general-purpose computing.

I spoke with James Reinders, Intel's Chief Evangelist for Intel Developer Software products and also the director of sales and marketing for those products, about Larrabee, as well as where GPU and CPU architectures may be heading. In the case of CPUs, Reinders talks about CILK Arts' cactus stacks, an intriguing idea that involves using multiple stacks, as an example of a potent change that may, in the future, be incorporated into the architecture of CPUs.