IA64 vs. Other 64-bit CPUs?
moZer asks: "There are countless reviews and comparisons between
Intel's P4 and AMD's Athlon, but so far I haven't seen any benchmarks
of IA64 versus other 64-bit CPUs. Is there anyone out there who has
experience from working with the IA64 that can say something about
its strengths and weaknesses?"
Supposedly part of the reason they suck compared to similarly-clocked 32-bit CPUs is that the compiler-optimisations required for ia64 are radically different from those used for x86.
Not to defend Intel, but there has been about 10-15 years to develop compiler technology for the 386...
"don't fall into the fallacy of believing that Perl can solve social problems. Maybe Perl 6 can, but that's a ways off"
Sun's been doing the 64 bit thing for a while (Not being a Sun expert), at least 4 years. UltraSparc 5s (at least) have a 64 bit CPU, and supposedly the new UltraSparc IIIcu's will be whopping the pants off of anything Intel has wet dreams about making ;)
and I found this:h tm l
http://www.dl.ac.uk/TCSC/disco/Benchmarks/spec.
Not very detailed, but a broad comparison of different systems...something to start ya off.
Yes. There is a comparison of IA64 -vs- The Rest.
You can check out the details at spec.org,
but I've found Ace's Hardware Top 20 Review to be a more concise and readable version.
You can see that IBM's POWER4 has a fp peak of 1169,
while Intel's Itaniam has a fp peak of 701. In int performance, the Itanium is pretty dismal.
There are basically two levels of optimizations (and loads of sublevels if you want to get technical). The first level is taking poorly written source code and turning it in better written source code.
ie:
forloop(100times){
a = sin(9*10*12)/12;
function(a+loopcounter)
}
would become:
a = sin(9*10*12)/12;
forloop(100times){
function(a+loopcounter)
}
Which would save you calculating a 99 redundent times. This is where compiler technology is the same for every platform and where most research goes.
The other place to optimize is at the hardware level. For example if you target something like a G3, Pentium, or Itanium you have to order your instructions very well. The Pentium can execute two instructions per cycle if you correctly order them, so it is crucial you order your instructions as best you can! Simply by changing the order of the instructions your performance will double!
There isn't as much research here. It is different for a 386, 486, Pentium, K5, K6, P6, K7, G4, G4, EV6, EV7, Pentium4, or Itanium. The 15 years of research for making 386 compilers is as relevent for Pentium4 optimizations as it is for the Itanium.
Its not so much that the compiler optimizations are so different, its more that they are so critical. Those compiler optimizations will still help every other CPU line, its just that without them the Itanium suffers the most.
That is why every nearly CPU line now supports Out Of Order Execution; ie g3->g4, Pentium->pentiumPro... By letting the CPU grab an instruction from the list all soon to be executed instructions instead of just the very next intruction overall CPU performance inscreases by about 30%! In cases where the compiler was able to do a perfect job there would be a 0% increase, but those cases are rare. And that is what hurts the Itanium.
Spec2000 int here and Spec2000 fp here.
highlights for int base:
790-POWER4 1.3Ghz
677-AthlonXP 1.6Ghz
648-Pentium4 2.0Ghz
621-Alpha 21264C 1.0Ghz
569-PA-RISC 8700 0.75Ghz
537-UltraSPARC III 1.05Ghz
461-PentiumIII 1.13Ghz
410-MIPS 14000 0.5Ghz
379-Itanium 0.8Ghz
99-PowerPC 604e 0.25Ghz
highlights for fp base:
1169-POWER4 1.3Ghz
960-Alpha 21264C 1.0Ghz
827-UltraSPARCIII 1.05Ghz
734-PentiumIV 2.0Ghz
701-Itanium 0.8Ghz
624-AthlonXP 1.6Ghz
581-PA-RISC 8700 0.75Ghz
463-MIPS 1400 0.5Ghz
340-PentiumIII 1.0Ghz
91-PowerPC 604e 0.25Ghz
The Itanium gets wacked pretty badly in the int scores, but does respectably well in the fp code which is far easier to extract parallelism from although it is beat by the POWER4, UltraSPARC III, and Alpha 21264. Even HP's 8700 isn't far behind.
Even in the Itanium's strongest field, floating point, its little 32bit cousin, the PentiumIV, smokes it.
The reason you don't see many reviews is because its a pretty slow chip, especially compared against the POWER4. Actually the reason you don't see reviews is because gamers who own web sites write reviews for the large readership of gamers who care about the fastest video card and CPU for their games. The market for an expensive 64bit shootout is pretty small. But its easy to afford a new video card or CPU.
Heck, Intel gives them out for free if the site words a 10% win for Intel as "wiping the floor" and a 10% win for AMD as a "narrow victory"...
You aren't helping matters.
IA64 -- Instruction Set Architecture name
Merced, McKinley -- Intel codenames for IA64 designs
Itanium -- Intel's current brandname for IA64 CPUs
Right now, nobody knows what the CPU codenamed McKinley will be marketed as. But I'd bet a sixpack that it will say "Itanium" or "Itanium 2" on the box.