Automatic Tuner for Optimizing Compilers
Original Publication Date: 2003-Jul-30
Included in the Prior Art Database: 2003-Jul-30
Disclosed is a set of computer programs to be shipped with optimizing compilers that will allow the customer to perform some optimization tuning on the target machine before starting to use the compiler in the normal way. The end result of the tuning process is to modify (improve) the machine dependent parameters that are used by the optimizing compiler. The tuning process will have the following steps: 1) Generating A Perfect Sample Program: The first step in the tuning process is to generate a near-perfect optimized program that can be used as a sample for tuning the compiler. This can be done by providing a sample non-optimized program which is shipped with the compiler. This sample program will be the input to a tool which will generate many versions of the sample program and measure the execution time of each version. The tool will then select the version with the best time as the near-perfect sample. 2) Tuning The Optimizer: The near-perfect sample program that was generated from step 1 should be the input to another tool which tunes the optimizer parameters. This tool will be basically the optimizing compiler except that it will change the optimizing parameters based on the input program, rather than change the input program based on the optimizing parameters.