Re: Optimizations for non-assembly versions?

Steven K. Kasow (kasow@rabi.phys.columbia.edu)
Thu, 10 Apr 1997 02:14:42 -0400 (EDT)


On Thu, 10 Apr 1997 Andrew Sterian <asterian@eecs.umich.edu> wrote:

>I, too, have noticed poorer-than-expected performance from HP-PA
>machines and it (somehow) reminded me of a GNU program that I
>have never used but could prove useful. It is called Superopt.

[munch]

> Superopt is a function sequence generator that uses an exhaustive
> generate-and-test approach to find the shortest instruction
> sequence for a given function.

[munch]
>I remember someone saying the code was compiled with -O3 but this
>superopt thing sounds like it could do better. Any chance the folks
>who compile the client code can give this package a try?

I looked into this for another project I was working on. It is a
lovely idea- but it requires insane amounts of CPU time to generate
instruction sequences more than a few dozen instructions long. It does
have the virtue of being able to find the fastest sequences out there,
but since it does use an exaustive approach, it gets prohibitively
expensive rather quickly. Unless there are very small sub-problems (e.g.,
ones that can be solved in 10-20 instructions) that are clear
bottlenecks, it will probably not be worth the effort of using.

Perhaps after we've broken the DES challence, Rocke would like
to set up a distributed superoptimizer.. :)

cheers,

Steven
kasow@rabi.phys.columbia.edu

--
"There are three stages in the killing of an astrophysicist."
        --Misner, C. W., K. S. Thorne, and J. A. Wheeler, 1973,
                _Gravitation_, W.H. Freeman and Company, New York.