The following are some problems you may encounter when using KAP and possible fixes and workarounds:
The two most common reasons KAP is unable to achieve performance improvement in applications code are the following:
-optimize
switch.
-
assume=b
or the assertion C*$* assert bounds
violation
. Nonsensical or nonrepeatable values in the
output may also be the result of unstable algorithms. Try setting
-roundoff=0
.
For Fortran programs, also try -save=all_adjust
in case the save statements you have supplied in the code are
incorrect or insufficient for the compiler you are using.
For example, suppose you have five routines, a, b, c, d, and e. When all five are processed with KAP, the program produces incorrect results or dies. Try running KAP again, but only on routines a and b. If they succeed, then the problem is in c, d, or e. If they fail, try with just routine a, and so on. By breaking the list of suspects into approximate halves for each test, you can fairly quickly identify which routine or routines cause the failure. Leave the problematic routines out of future KAP runs.
-inline_and_
copy
switch or by reducing the -eiifg
and
-miifg
settings. To compensate for insufficient
memory, you can also break up a source file into smaller logical
units and run KAP on the separate units.
-scalaropt
.
Copyright © Digital Equipment Corporation. 1997.
All Rights Reserved.