Graphs
First Graph: My first graph. I'm mapping the depth of the ILP for two 64-bit Linux computers in the CS Department. I made this in gnuplot!
Second Graph: I added Faure, a solaris machine, to the graph!
Register Tiles v. Runtime
Register Tiles v. Cycles
Graphs for carstensz: After running programs with several variables, I made a few graphs. These were all run on my computer, carstensz.
Different Optimizations
Different Constants
Different M-Values
Different M-Values
Graphs for grace: I also made a set of graphs for grace, another 64-bit Linux machine.
Different Optimizations
Different Constants
Different M-Values
Different M-Values
Graphs for nelson: And here are the graphs for nelson, a 32-bit Linux machine.
Different Optimizations
Different Constants
Different M-Values
Comparison graphs: Here are a couple of graphs I made with comparisons across the computers.
Times for K-value of 1
Different Computers
Conclusions: Based on these preliminary graphs, I've been able to come to a few conclusions:
    Constants:
  • A constant of 1 gets optimized away in everything greater than -O0, and consequently cannot be used in comparisons.
  • A constant of 0.75 is very costly for the compiler and does not appear to be affected by register tile size (why?)
  • Constants of 0 and of 0.5 are approximately equal in efficiency, and benefit from register tile size. By looking at either of these constants at optimizations greater than -O0 there is a clear "peak" in computation efficiency; this is the maximum amount of ILP for a particular computer.
    ILP: (see graphs 1,2,3 for each computer)
  • For grace, the efficiency peaks at register tiles of size 4
  • For carstensz, the efficiency peaks at register tiles of size 5
  • For nelson, the efficiency peaks at register tiles of size 4