NVIDIA Casts Doubt on Intel's 'Knights Corner' Processors

Rob Williams

Editor-in-Chief
Staff member
Moderator
With Intel's first 'Knights Corner' products expected to hit the channel in late 2012, NVIDIA's CTO Steve Scott has taken the opportunity to call Intel out on some of its claims. The biggest one being targeted is that code won't have to be "ported" to operate on Knights Corner, based on the fact that it has an x86 design. Claims like these have long been bounced around by both parties, and this isn't the first time we've seen one company has publicly doubt the other.

nvidia_company_logo_large.jpg

Read the rest of our post and then discuss it here!
 

Brett Thomas

Senior Editor
Interesting.... you make a wonderful point with the cache sharing, in particular. Indeed, NV is far more adept at this point in handling the L1/L2 sharing across so many pipes, so it will be interesting to see how Intel handles this level of concurrent access.

However, the pissing match between them is getting a little OTT...

"LEAVE BRITTNEY ALONE!"
 

marfig

No ROM battery
Steve Scott is obviously correct. However he comes from the programmer side, while Intel easy talk is that of the seller whose eager to demonstrate the benefits of this new technology they are wanting to sell like water in the desert.

Of course the notion such a specialized parallel architecture to be ported to the new hybrid architecture by simple recompilation is just for stock holders to hear. Any software developer will know this is sales talk. We in fact have been hearing stuff like that all our lives. It doesn't even register in our brains anymore. We have been using so-called multi-platform libraries that demand slight changes in code to either optimize the code (or even make it work) on more than one system, for instance. We learned to accept the idea that we need to populate our code with pragma directives and other "niceties" to make it work across more than one platform. Programmers most quoted mantra is "there's no free lunch". For a reason.

The write once, run anywhere delusion is debated even on those places where it was specifically meant to work. If there is something any Java programmer learns very early is that there's a difference between what they were told about Java and what they will actually be doing. And this has never been more true with the inclusion of mobile applications that all but completely removed from the programming language the nerve to keep using the "compile once, run anywhere" slogan.

.....

Now, there's however something that must be said in lieu of Intel.

The grunt of this work will not be of the software developer. But that of the compiler or library developers. For most programming languages, these two components abstract away from the software developer all the innards of the system they are programming for. So from the perspective of the software developer (the "customer" of compiler and library developers) there is indeed very little reason to expect things to change. They can just recompile their code with the necessary flags and be done with it.

But the compiler -- and some of the libraries -- developers will need to rethink their code and adapt it to the new architecture, regardless of what Intel may want to say to please its board of shareholders. Those who don't, will be forcing onto the software developer the task of adapting his code. Which will only defeat even more Intel's argument.

The higher the programming language, the less a software developer usually needs to worry. It's quite safe to assume for instance that C# developers won't be seeing any change in semantics or syntax and can thus just recompile their code with whatever flags are needed. Microsoft is bound to give them peace of mind on this regard and completely abstract away from them this new architecture. Or so we should hope. Especially in the light of the .Net big changes over the past 2 versions concerning parallel programming (which I will be discussing on an upcoming article here on TG). C++ developers, on the other hand, will probably be left with changes to their current libraries or compilers that will require small adaptations in the code in order to take full advantage of the new architecture.

What I think Steve wants to stress is that it is quite acceptable the idea that we may be able to indeed just recompile the code (although even this is left to be seen). But we won't be taking full advantage of it. What's the point of programming for a redesigned architecture that wants to make instruction flow more efficient on a processor, if we are then producing less efficient code on purpose? Of course that on HPC systems we will want to code in ways that extract the most juice of our systems! And for that we will be taking a close look at the parallel architecture of the platform and take the most advantage of it. That involves tweaks and optimizations to our code. The idea that this new architecture can be used just with a recompilation of existing code isn't just unacceptable, but also slightly offensive to any software developer whose task is exactly to make the most of an HPC system.
 
Last edited:

marfig

No ROM battery
These concerns are valid, but the article assumes that Knights Corner is going to be released as PCIe, when all resources I've found point to it being a CPU.

CPUs sitting on a PCIe card allowing for HPC scaling. Essentially (x86 or not) CPUs that behave as accelerators of the x86 processor on the system (assuming the system as a central unit. Not all HPC have and are instead entirely decentralized and distributed).

As a CPU, it can be built using traditional designs where one large pooled cache is present, and each core has access to its own (possibly also shareable) cache. The real challenge will be achieving cache coherency with all of those cores, an area that NVIDIA is more familiar with than Intel.

Indeed!
But here I think Intel will drink from IBM's Blue Gene/Q: http://www.bit-tech.net/news/hardware/2012/02/09/intel-haswell-tsx/1
 
Last edited:

Kougar

Techgage Staff
Staff member
All I think, is that NVIDIA doesn't want Intel to finally figure out its design for a general purple, easily programmable compute card that will threaten their lucrative Tesla/Quadro markets. :) Of course they may have missed the point, AMD's GCN architecture just make them a strong competitor in that marketspace...
 
Top