Re: It's 1997. Do you know where your scheduler is?

David Chase <chase@world.std.com>
23 Dec 1997 22:52:48 -0500

          From comp.compilers

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)
| List of all articles for this month |

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
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.