Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: IA-64 vs OOOE (attn Taylor, Hyatt)

Author: Tom Kerrigan

Date: 20:24:43 02/11/03

Go up one level in this thread


On February 11, 2003 at 22:39:48, Robert Hyatt wrote:

>Your explanation was not bad, but your "no compiler can do this" is dead
>wrong.  Visit Cray Research, search for their CFT compiler (or their C
>compiler) and see if you can find some papers on their optimizing.
>They _do_ exactly what you describe.  They "lift" (or "hoist") instructions
>way back up in the instruction stream so that values are available when needed,
>which is _exactly_ what your OOO approach is doing in the hardware.

They must be doing this according to static branch prediction, which is maybe
80% accurate, not > 90%, and all compilers have scope boundaries for this sort
of stuff, i.e., at loops or functions. OOOE has no such restrictions. It's just
a stream of instructions.

>I would not say that either is particularly "better".  They are "different"
>with different approaches to the same problem.  The advantage of a ia64-type
>approach is that you can stretch the VLIW approach quite a ways, while it
>gets harder and harder to do it in an OOO architecture.  You end up with more
>hardware in the reorder buffer logic than you have in the actual pipelines
>that do the real computation.

Is that causing a problem other than offending some people's sensibilities? The
EV8 was going to have 8 int ALUs and it would have been perfectly viable with
today's processes.

>Perhaps.  However the non-OOO Cray has always been right at the top of the
>overall performance heap, so that approach can fly as well and it has certainly

I don't know much about Crays but a friend of mine told me that he ran some
uniprocessor tests on a Cray and it was roughly as fast as a fast 486. Have any
Crays been built in the last several years using actual Cray processors?

>>As for VC not generating cmovs, Matt, using cmovs on the P6 is slower than not
>>using them. That's why they're not generated.
>Under what circumstance?  It is possible to have totally unpredictable

Under the circumstance of running on a P6, like I said. The P6 has no real
support for cmovs; it microcodes them down to several uops and the whole process
takes longer than if you just did a branch.

>And I believe the VC _will_ produce CMOV instructions, but you have to

Eugene can speak to this better than I can, but I don't think VC ever produces
cmovs regardless of how you configure it.

-Tom



This page took 0.01 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.