Larrabee information

All this information is public and has been published elsewhere, but I thought I'd put as much of the stuff I know about in one place for easy reference.

Larrabee is also known by multiple other codenames: Intel Multiple Integrated Core, "Intel MIC" (pronounced "Mike"): the name for the technology as a whole, as distinct from Core or Atom. Knights Ferry, Knights Corner, etc: names of the chunk of silicon (not the board, connectors, components, etc). Aubrey Isle, Angel Isle, etc: names of the board+silicon+components - the whole product.

Official Intel Knights Corner documentation

Open-source stack, compiler toolchain and documentation - first released June 2012.

Micro-architectural documentation - first released June 2012:

A collection of resources and downloads. In particular, note this includes a link to the Instruction Set Reference Manual, which is probably the most detailed info a coder could need.

Siggraph 2008

Larrabee: A Many-core x86 Architecture for Visual Computing: Larrabee's first real showing to the world. The paper was origianlly about twice as long and we had to chop it down severely to fit to the required length. If some things seem overly simplified - that's why. We tried to add the info back in in subsequent presentations.

Beyond Programmable Shading Course

Larrabee Graphics Architecture: Software is the New Hardware: I go over the basics of how we do in software what everyone else does in hardware, and how we can be more flexible and general than a standard GPU.

Programming Larrabee: Beyond Data Parallelism: Aaron Lefohn on how to use Larrabee as a general-purpose (i.e. non-GPU) machine and the various tricks with dealing with so many threads.

Beyond Data Parallel: Advanced Rendering on Larrabee: Matt Pharr on how we can take the standard rendering pipeline I talked about, and open it up with user-configurable pipelines and new features.

How GPU Shader Cores Work: Not specifically about Larrabee, Kayvon Fatahalian has an excellent comparative GPU anatomy class. Even if you think you know, this is very illuminating and cuts through a lot of the sillier marketing buzzwords and shows that underneath red green and blue are all very similar.

Also see the Siggraph Asia version of this course, which has some significantly different takes on some of this info.

GDC 2009

Rasterization on Larrabee and SIMD Programming With Larrabee: Michael Abrash and I doing our double-act. We both talk about the instruction sets, Michael talks about the hierarchical descent rasterisation algorithm, and I talk about how we do basic language structures such as conditionals and flow control with our 16-wide vector units. We were both absurdly proud to be able to finally talk about the architecture we'd worked on for so long - it's not every programmer that gets to design their own instruction set.

Dr. Dobb's Journal

A First Look at the Larrabee New Instructions: Michael Abrash's article with all the details of the instruction set.

Rasterization on Larrabee: Michael Abrash goes into more detail on the rasterisation architecture.

Siggraph 2009

Beyond Programmable Shading Course

Deliberately a much less vendor-centric talk this year, it's all excellent stuff, including an update of Kayvon's GPU anatomy talk. The only Larrabee-specific talk was:

Innovating in a Software Graphics Pipeline: Paul Lalonde on using the flexibility of fully general-purpose cores to extend the existing rendering pipeline.

Stanford EE820 course 2010

The Challenge of Larabee as a GPU and video of the talk: confusingly I gave the slides the same title as my GDC 2009 talk - sorry about that. It is loosely based on that talk, but includes a guide to high performance code design and how those principles shaped the rendering pipeline.

International Supercomputing Conference 2010

Petascale to Exascale: starting from slide 32 there's Pradeep Dubey's presentation on the current version of Larrabee codenamed "Knight's Ferry", including details on core counts (32) and frequency (1.2GHz)


Larrabee at Wikipedia

C++ Protoype Primtives Library: basically a set of Larrabee intrinsics, but they cross-compile to existing platforms. It's just a C header file (no binary) so you can #include it pretty much anywhere and get prototyping LRBNI code instantly. NOTE - this is rather out of date and not well-supported any more. Historically interesting for the curious, but otherwise not that useful.