Branch frequencies (was Assembly or ....) 
Author Message
 Branch frequencies (was Assembly or ....)

Quote:

>If memory serves right the compiler Rubin wants exists, or
>at least it has existed. I recall a friend of mine told me
>that the very first fortran compiler allowed you to give
>probabilities of on the IF statements. The compiler then used
>one of its passes to do a Monte Carlo simulation on the
>program for optimal optimising.

>"Frequently, unexpected errors are entirely unpredictable" - Digital Equipment

I too may be mistaken, but I believe that the compiler for the
Multiflow does things like this too: in order to schedule the "traces"
most efficiently, it will analyze the branch condition and try to
determine probabilities.  Furthermore, I believe you can automatically
instrument the executable during compilation and run a few jobs with
it - then feed the collected data back to the compiler to help it
optimize more efficiently.

Warning: I don't really know much about the machine, I just listened
to a Multiflow rep making his pitch to a large group of computation
chemists who ask good questions.  Sounds interesting nevertheless!

Dave
--


University of Florida
Gainesville, FL  32611          904/392 9306



Mon, 19 Apr 1993 14:42:00 GMT  
 Branch frequencies (was Assembly or ....)

Quote:

>There is no provision for input
>as to frequency of branches.  Should the common condition be the branch
>or the rare condition?  ...
>I think the compilers should be interactive, and
>discuss the various possibilities with the programmer.  

If memory serves right the compiler Rubin wants exists, or
at least it has existed. I recall a friend of mine told me
that the very first Fortran compiler allowed you to give
probabilities of on the IF statements. The compiler then used
one of its passes to do a Monte Carlo simulation on the
program for optimal optimising.

I'm probably wrong on everything, but I'm sure that friendly
people will correct me.
--
Erland Sommarskog
ENEA Data, Stockholm

"Frequently, unexpected errors are entirely unpredictable" - Digital Equipment



Mon, 19 Apr 1993 21:55:00 GMT  
 Branch frequencies (was Assembly or ....)

Quote:
> Specifying branch frequencies

That's true. The very first Fortran compiler, done, I believe for the IBM
709, had a FREQUENCY statement that allowed specifying the probability of
each branch for IF and computed GOTO. This was standardized into Fortran II,
then later dropped in Fortran IV.

The reason for this is that the designers of the compiler knew that they
would be fighting an uphill battle against entrenched assembly coders, and
that the language and compiler would only be accepted if it could generate
better code than the average hand coder. Remember that this was back in the
days when people were cheap and hardware was expensive.

They suceeded.

This compiler was built back in the early '60s. To this day there have been
very very few compilers that match this one in optimizations.

  ++PLS



Mon, 19 Apr 1993 07:24:00 GMT  
 Branch frequencies (was Assembly or ....)
PLS>
PLS> The reason for this is that the designers of the compiler knew that they
PLS> would be fighting an uphill battle against entrenched assembly coders, and
PLS> that the language and compiler would only be accepted if it could generate
PLS> better code than the average hand coder.

Yes.  And a good occasion to point everbody to the ACM SIGHOPL
conference proceedings (History Of Programming Languages).  If
my memory serves me right, it was edited by Mr. Wexelblat and
published in 82 or 84 or around that time.

It's one of the finest books you can get.  The designers of many major
and `minor' languages report stories about the development of "their"
programming languages.  Read what J. Backus himself has to tell about
FORTRAN, Iverson about APL, Griswold about SNOBOL, P. Naur (or was
it L. v.d.Meulen?) about ALGOL68,...  Lots of fun reading!

                                                        Martin
--
Martin Neitzel,  Techn. Univ. Braunschweig, W.Germany




Wed, 19 May 1993 23:40:00 GMT  
 
 [ 4 post ] 

 Relevant Pages 

1. Branch frequencies (was Assembly or ....)

2. Eliminating Branch Instructions in Assembly

3. I am going to start assembly programming

4. I am new to Assembly language Programming.

5. i am new to assembly language

6. I am not deaf, but am I mute?

7. Metacompile assembly source to assembly source ?

8. Assembly Language for TI-86 or the Z80 assembly Language

9. Current assembly position in an assembly-time variable?

10. Doing assembly and really doing assembly

11. Doing assembly and really doing assembly

12. problem porting assembly codes from ms inline assembly to linux (gnu - AT&T syntax)

 

 
Powered by phpBB® Forum Software