Related articles |
---|
It's 1997. Do you know where your scheduler is? djb@cr.yp.to (D. J. Bernstein) (1997-12-19) |
Re: It's 1997. Do you know where your scheduler is? chase@world.std.com (David Chase) (1997-12-23) |
Re: It's 1997. Do you know where your scheduler is? djb@cr.yp.to (D. J. Bernstein) (1997-12-29) |
Re: It's 1997. Do you know where your scheduler is? greened@eecs.umich.edu (David Greene) (1998-01-04) |
From: | David Chase <chase@world.std.com> |
Newsgroups: | comp.compilers |
Date: | 23 Dec 1997 22:52:48 -0500 |
Organization: | Natural Bridge LLC |
References: | 97-12-148 |
Keywords: | architecture, optimize |
D. J. Bernstein wrote:
> Try gcc -O3 again. The code slows down again. Wonderful.
> Pause to wonder whether compiler writers will care about a 1.6x
> speedup in one of the world's most important computational problems.
>
> ``These days, scheduling is realistically best left to the compiler.''
Unless you use gcc, I guess. Last I checked, Gcc (unlike compilers
sold by Sun, IBM, HP, Intel, DEC, SGI, and Motorola) does not have
much of a scheduler in it. The vendor compilers that I know of (I am
making plausible assumptions about the others) contain detailed models
of machine pipelines, and use those to get good schedules. I think
one of them even uses expensive (exhaustive search) algorithms for
scheduling small loops.
Intel chips are also a pain to schedule for; an undersupply of
registers adds one more constraint for your scheduler to obey, and
there's also vast differences between scheduling for the Pentium
(which runs sort of like a pair of 486 chips) and scheduling the
Pentium Pro (which looks like a really amazing dataflow machine). A
compiler built for one is unlikely to work well for the other.
By-the-way, you didn't say which release of gcc, nor did you
say which release of Pentium.
--
David Chase, chase@world.std.com
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.