PPW's analysis module can make use of baseline measurements of the execution times for various operations in UPC, SHMEM, and MPI programs. These baseline values - measurements of the execution time of an operation under optimal circumstances - are helpful in determining whether or not a given operation occurring in an application is taking more time than it should. For this baseline filtering to be most effective, you should obtain baseline measurements for a given system when the system load is minimal.
Note that obtaining baseline values is an optional, though recommended, step in the setup of PPW. The baseline values are only used by the advanced analyses provided by the tool. Also, if baseline values are not present when you run analyses, the analysis process will use deviation comparison in place of baseline comparison to filter events.
The PPW backend supplies UPC, SHMEM, and MPI programs used to collect
the baseline execution times for various operations in these
programming models. These programs are instrumented and run with PPW
to obtain resulting performance data files that supply the baseline
values. These programs are located in subdirectories of the
analysis directory within the PPW backend installation.
We have provided basic makefiles for compiling the baseline programs
for each programming model. You may need to modify these to specify
the location of your PPW installation (if the compiler wrappers are
not in your path) or add any necessary compiler options. Running
make for a given programming model should then generate two baseline
ppw_base_all program needs to be run only with a system
size of 2, while the
ppw_base_a2a program should be run with
system sizes ranging from 2 to 32. We have provided basic
run.sh scripts (for each programming model) to run the baseline
programs using the appropriate system sizes. You may need to modify
the scripts to specify the appropriate run command(s) for your system.
Also, in some cases the scripts may not be useful for invoking the
baseline programs on your system, and you'll need to manually run the
baseline programs in the appropriate manner.
Once the instrumented baseline programs have been run, you should
obtain output PAR files with specific names:
ppw_base_all program, and
files for runs of the
ppw_base_a2a program on system size N.
These files should now be transferred to the appropriate location
within your frontend PPW installation, normally the
analysis/baseline/PMODEL directory, where PMODEL is UPC, SHMEM,
or MPI. If you use the PPW frontend on a separate workstation from
your parallel system, you will need to use a file transfer program to
copy the baseline PAR files to the appropriate directory within your
PPW installation on your workstation.
Now when you first run analyses from within the PPW GUI, the baseline
PAR files will be used to generate files containing baseline values
for operations in a given programming model. These resulting files,
ppw_baseline.txt and located within each of the
subdirectories of the
analysis/baseline directory of the PPW
frontend installation, should be deleted if you need to regenerate
baseline data from new baseline PAR files (for example, if you are
using a different system than before).