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
qualifier.
/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
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
qualifier 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.
Preprocessor
Failed
or Translator Error,
try lowering
qualifier values, especially /scalaropt
.