Nvidia Rails Against Intel's Many-Core Architecture
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."
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.
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.