Nvidia Rails Against Intel's Many-Core Architecture

Nvidia isn't happy with what it sees as the free pass Intel's upcoming Many Integrated Core (MIC) architecture has gotten on the software front, and it's taken to the blogosphere to challenge it. The post begins with a lengthy discussion of what Nvidia is calling its "hybrid architecture," in which a CPU and GPU get together for great fun and massive execution of properly distributed workloads. The post is conveniently timed to land just before the Texas Advanced Computing Center's (TACC) joint symposium with Intel on highly parallel computing, which kicks off next week.

What Nvidia takes issue with, according to the blog, is the idea that using an x86-compatible product like Knights Corner, will offer an inherent software advantage. Steve Scott, Nvidia's Chief Technology Officer, writes: "I’m perplexed when I hear some people say that there’s no need to change your existing code to run on MIC because it uses the x86 instruction set. Just recompile with the –mmic flag, and your existing MPI or OpenMP code will run natively on the MIC processor! ... Functionally, a simple recompile may work, but I’m convinced it’s not practical for most HPC applications and doesn’t reflect the approach most people will need to take to get good performance on their MIC systems."

It's The Economy Compiler, Stupid

According to Nvidia, Intel's Knight's Ferry / Knight's Corner is hamstrung by issues like its shared memory pool, a NIC-based communication system between cards that's susceptible to data logjams, and the upper bounds of efficient code execution as defined by Amdahl's Law. Our limited pool of information on Knights Ferry / Knights Corner suggests that these factors may indeed play a part in determining what sorts of workloads Knights Corner is best-suited to--but this isn't actually about hardware at all. What Nvidia's afraid of is that Intel's claims of x86 software compatibility will sway vendors to adopt MIC products rather than opting for Tesla cards.

Early research points to strong MIC scaling, but Intel hasn't shown any performance comparisons against Tesla

Scott strikes at his point from multiple fronts, claiming that " there is no such thing as a “magic” compiler that will automatically parallelize your code," "all future performance increases must come from increased parallelism," and "The hope that unmodified HPC applications will work well on MIC with just a recompile is not really credible, nor is talking about ease of programming without consideration of performance."

This is a classic example of what's known as a straw man argument and logical fallacy. No one is claiming that Intel has a "magic compiler," or that code doesn't need to be re-optimized. What Intel has stated is that x86 compatibility and its own software tools make it much easier to optimize code for Knights Ferry / Knights Corner than a competitor's product. How much that will matter to potential customers is still up in the air. At Ars Technica, Jon Stokes noted nine months ago that while he initially believed Intel was hugely overselling its software compatibility advantage, additional research had changed his viewpoint, given that "Ease of development and porting do seem to matter for both budget-constrained academic labs and the kinds of high-frequency trading and other finance applications that prize speed of deployment along with fast computation."

What We Expect:

Intel's research indicates that MIC can offer substantially improved performance over and above even AVX

Next week's TACC presentations should tell us a great deal more about the strengths and weaknesses of Knights Corner. Available local memory and cross-card communication will probably prove to be limiting factors, as Nvidia predicts -- but it's important to keep in mind that Tesla and KNC exploit different types of parallelism (thread-level vs. instruction-level) and are likely best-suited to solving different kinds of problems. The reason Nvidia is reacting preemptively is that, historically, Intel has exploited its manufacturing technology and x86's market share to devastating effect.

Given the stakes, simply posting benchmark wins is insufficient. Nvidia is trying to sell world+dog on the idea that Tesla, not KNF/KNC, is the right way forward, and doing it in their own inimitable fashion.