The Weight Finder — An Advanced Profiler for Fortran Programs

Thomas Fahringer · 1994

This paper introduces the Weight Finder, an advanced profiler for Fortran programs, which is based on a von Neumann architecture. Existing Fortran codes are generally too large to analyze fully in depth with respect to performance tuning. It is the responsibility of the Weight Finder to detect the most important regions of code in the program, as far as execution time is concerned. Program transformation systems, compilers and users may then subsequently concentrate their optimization efforts upon these areas in code.Furthermore program unknowns, such as loop iteration counts, true ratios and frequency information, are derived. Analysis and prediction systems require concrete values for these unknowns in order to provide reasonable accurate results.Animation, simulation, debugging and trace based tools may use the profile data as being derived by the Weight Finder in order to detect program parts which are never executed, simulate the program’s control flow, etc.This tool is based on an optimized instrumented profile run. Several optimizations are shown which eliminate large portions of the instrumentation code, thus decreasing profile run-time and memory requirements, and improving the measurement accuracy. It is shown how the profile data can be adapted for program transformations to the original Fortran program without redoing the profile run.The Weight Finder is a 10000 line software package which is fully integrated under the Vienna Fortran Compilation System.

Read the paper · More papers on PaperTik