Itanium Problems
webdev writes "An article in today's NYTimes (free but...) highlights some industry concerns over Itanium. The author suggests the normal "what's bad for Intel is bad for the computer industry". Anyone know the power consumption for IBM's 64 bit effort GPUL?"
"It has taken an entire decade, an estimated $5 billion and teams of hundreds of engineers from the two companies to bring the first Itanium chip to market. As the struggles and costs mount for the companies, skeptical technologists say Itanium now has the hallmarks of a bloated project in deep trouble. It is already four years behind schedule, emerging just as companies are in no mood to spend money on technology"
Skeptical? More like, forget it Chachi, it ain't happening.
I guess the larger companies don't get it. Corporations are struggling. Companies are in holding patterns, waiting for the mess, erm, economy, to level off.
Can I have a job now making millions being a skeptical technologist?
Sent from your iPad.
GCC already supports the Itanium and Intel has great code they could give to GCC in terms of optomization (Intel doesn't make money in the compiler business).
Wrong... Intel IS in the compiler business: they have their own compiler called "icc". They could give code to GCC, but they won't because it'll hurt their icc business. You'd think they'd be smart and release their optimizations to GCC to help their processors perform better, but Intel doesn't think this way. They want you to believe their slick marketing that their processors really are better, AND they want you to shell out for their compiler (which may or may not actually get those processors to perform well--you won't know until you pay up and try it out). Of course, how does this help all of us who use open-source software (which includes Google mentioned in this article), compiled by GCC? It doesn't.
Heaven knows they have a copy of MS's book on corporate behaviour when it comes to competitors.
Bad for Intel probably means good for the industry, as we won't have another half-assed chip shoved down our throats.
* Winners compare their achievements to their goals, losers compare theirs to that of others.
partner=cmdrtaco appears to work just as well. You can use that one instead.
There's one thing Inever understood about Intel's and AMD's design for 64-bits CPUs. Intel seems to aim for simplicity, that is, 64-bits code should be clean, as compared to current x86 code. AMD, on the other hand, seems to be mainly concerned about downward compatibility (which is a huge win). But why not have it both ways? The CPU could just start out in 16-bit stone age legacy mode, and then be switched to 64-bits mode, similar to how today's x86en are switched to 32-bits mode. The 64-bits code could then be clean like Intel proposes, and we'd all be happy. Of course, it would effectively mean having two CPUs on one chip, one for legacy code, and one for modern code, but isn't that what's happening anyway? Last thing I want to say: clean 64-bits code makes me think MIPS.
Please correct me if I got my facts wrong.
I'd give Intel engineers just a bit more credit than the average /. poster. Intel has been right at getting the trends for awhile now. Take the Pentium 4 for example. Everyone thought it would flop cuz it had crappy IPC. It sucked in the first several iterations (less than 2 GHz). But its quite the speed demon now, ain't it?
As for Itanium, there are quite a few ways it could succeed. It has the potential for serious performance. The super-wide architecture is perfect for code like scientific processing, image processing, and 3D graphics that are nice, regular, and easy to optimize and parallize. And what kind of processing do you think is going to be popular in the future?
A deep unwavering belief is a sure sign you're missing something...
Um, its a river in Oregon (you know, that state Intel is based in?) All Intel processors are codenamed after rivers. Now, your post is basically just making fun of a place name, which is actually quite offensive to the locals. Its like, "Oh, Ouagadougou, what a stupid name for a city, who thought up THAT?"
A deep unwavering belief is a sure sign you're missing something...
Dynamic optimization is not restricted to hardware. Java Hotspot will do well with Itanium (if Sun survives), and I believe Smalltalk and LISP have dynamic optimization as well. The way I see it, Virtual Machines are the future of high performance computing. And yes, .NET is important for Microsoft to prosper in the non-IA32 world. (Although I hate it when the wicked prosper.)
While you may think that GCC should not expect anything from Intel, Intel disagrees; Intel has provided documentation as well as money for Red Hat (and Cygnus before them) to get free software to run decently on their hardware. AMD has done the same, it is simply good business.
GCC is a portable compiler; ia64 is a radically new architecture that needs special treatment from compilers. It will take time to get things working well, and problems with compilers may be the factor that makes AMD win in the long run over Intel. If the ia64 is theoretically faster, but compilers generate better code for the less radical AMD 64-bit processor, AMD wins the performance battle. If you have to buy a compiler from Intel to get the same performance you get with AMD with the free compiler, same deal. For that reason, Intel will have a strong financial motivation to help GCC do better, even if this cuts into their compiler business.
Intel is not watcom. They sell compilers to sell chips. They've often developed technologies and then given them away for free. To pick a good example they spent a fortune developing a compiler for the i486/i860 combined systems. These never took off but Intel did give the code to companies like SCO, Haupagee and Microway.
That's quite true for some architectures. However, note that the PowerPC CPU, for example, does a lot of optimizations at execution time with branch caching, speculative execution and other predictive techniques. This, on a code that has been somewhat optimized at compilation.
The question is not whether the IA-64 is the only processor to do these compile-time optimize. The question is whether it's wise to rely mainly on compile-time static optimization when you hope to be a performance leader. Turing says that you cannot, because static optimization, obtained by guessing the execution code path, is always inferior to dynamic optimization generated from the actual code path with the actual data.
Do you have pointers regarding the amount of dynamic optimization in the IA-64? In other words, if the compiler in only run-of-the-mill, can the IA-64 still perform?
--
Mad science! Robots! Underwear! Cute girls! Full comic online! http://www.girlgeniusonline.com/
Itanium is a step backwards for software. It make the tradeoff of giving you somewhat better performance for a few languages and benchmarks, with complex compilers, while being even harder and more problematic for anything that deviates from the canonical benchmarks. That locks new kinds of software even more into a straightjacket than it already has been.
If Intel sees dynamic compilation as the solution to the complexity of Itanium, they should do the same thing Transmeta does: define a simpler instruction set for compilers to target and make the dynamic compilation and optimization software effectively part of the chip.