Order Number: AV--QMB7F--TE
This document lists Compaq KAP Fortran/OpenMP for Tru64 UNIX command-line options.
For more information about these options, see the Compaq KAP Fortran/OpenMP for Tru64 UNIX User Guide.
Revision/Update Information: This is a revised document.
Operating System and Version: Compaq Tru64 UNIX Versions 4.0F, 5.0, and 5.0A
Software Versions:
Version 4.3
Compaq Fortran Version 5.3
Compaq Computer Corporation
Houston, Texas
© 1995 Compaq Computer Corporation
© 1995 Kuck & Associates, Inc.
Compaq, the Compaq logo, Compaq C, and Compaq Fortran, Registered in U.S. Patent and Trademark Office.
KAP is a trademark of Kuck & Associates, Inc.
UNIX is a registered trademark of The Open Group.
All other product names mentioned herein may be trademarks or registered trademarks of their respective companies.
Compaq shall not be liable for technical or editorial errors or omissions contained herein. The information in this document is subject to change without notice.
Long Name | Short Name | Default Value |
---|---|---|
fext=
<Fortran file extension> |
fext=f | |
f90=
<path to Fortran compiler> |
f90=
/usr/bin/f90 |
|
f90kap=<path to kapf90> |
kapf90=
/usr/bin/kapf90 |
|
fkapargs=<kap option string> | ||
S | off | |
tmpdir=
<temporary directory path> |
tmpdir=/tmp/ | |
tune=<architecture> | tune=current system architecture | |
verbose | v | nov |
Long Name | Short Name | Default Value |
---|---|---|
General Optimization | ||
[no]interchange | interchange | interchange |
namepartitioning=
<integer>,<integer> |
namepart=
<integer>,<integer> |
nonamepart |
optimize=<integer> | o=<integer> | o=5 |
roundoff=<integer> | r=<integer> | r=3 |
scalaropt=<integer> | so=<integer> | so=3 |
skip | sk | nosk |
tune=<architecture> |
tune=
<architecture> |
tune=
<architecture> |
Parallel Processing | ||
chunk | 1 | |
[no]concurrent | [n]conc | noconc |
[no]directives | [n]dr | directives=akpv |
minconcurrent=<integer> | minc | minc=1000 |
[no]parallelio | [n]pio | nopio |
pdefault | safe | |
psyntax | openmp | |
scheduling=<list> | sched | scheduling=e |
Fortran Language | ||
align_common | align_common | align_common=8 |
align_struct | align_struct | align_struct=4 |
assume=<list> | a=<list> | a=cel |
noassume | na | |
[no]datasave | [n]ds | ds |
[no]dlines | [n]dl | ndl |
[no]escape | [n]escape | noescape |
[no]freeformat | [n]ff | nff |
integer=<integer> | int=<integer> | int=4 |
intlog | intlog | intlog |
kind=<integer> | kind=<integer> | kind=4 |
logical=<integer> | log=<integer> | log=4 |
[no]onetrip | [n]1 | noonetrip |
real=<integer> | rl=<integer> | real=4 |
save=<list> | sv=<list> | sv=manual_adjust |
scan=<integer> | scan=<integer> | scan=72 |
syntax=<list> | sy=<list> | off |
[no]type | [n]ty | nty |
Directives | ||
directives=<list> | dr=<list> | dr=akpv |
nodirectives=<list> | ndr | |
[no]ignoreoptions | [n]ig | nig |
Inlining and IPA | ||
inline[=<names>] | inl[=<names>] | off |
noinline[=<names>] | ninl[=<names>] | off |
ipa[=<names>] | ipa[=<names>] | off |
noipa[=<names>] | nipa[=<names>] | off |
inline_and_copy=<names> | inlc=<names> | off |
inline_create=<file> | incr=<file> | off |
ipa_create=<file> | ipacr=<file> | off |
inline_depth=<integer> | ind=<integer> | ind=2 |
ipa_depth=<integer> | ipad=<integer> | ipad=2 |
inline_from_files=<file>,<file> | inff=<file>,<file> | current source file |
ipa_from_files=<file>,<file> | ipaff=<file>,<file> | current source file |
inline_from_libraries=
<library>,<library> |
infl=<library>,
<library> |
off |
ipa_from_libraries=
<library>,<library> |
ipafl=<library>,
<library> |
off |
inline_looplevel=<integer> | inll=<integer> | inll=2 |
ipa_looplevel=<integer> | ipall=<integer> | ipall=2 |
inline_manual | inm | off |
ipa_manual | ipam | off |
inline_optimize=<integer> | inline_optimize=0 | |
ipa_optimize=<integer> | ipa_optimize=0 | |
Input-Output | ||
cmp=<file> | cmp=<file> | see User Guide |
nocmp=<file> | ncmp=<file> | |
include=<pathname> | inc=<pathname> | noinc |
[n]list[=<file>] | [n]l[=<file>] | nl |
Listing | ||
cmpoptions[=<list>] | cp[=<list>] | nocp |
lines=<integer> | ln=<integer> | ln=55 |
listoptions=<list> | lo=<list> | lo=o |
suppress=<list> | su=<list> | all message types |
Advanced Optimization | ||
[no]aggressive=<list> | [n]ag=<list> | nag |
arclimit=<integer> | arclm=<integer> | arclm=5000 |
cache_prefetch_line_count=
<integer>[,integer] |
cplc=<integer> | cplc=0 |
cacheline=<integer, integer> |
chl=
<integer, integer> |
chl=32,32 |
cachesize=<integer, integer> |
chs=
<integer, integer> |
chs=8,0 |
dpregisters=<integer> | dpr=<integer> | dpr=32 |
each_invariant_if_growth=
<integer> |
eiifg=<integer> | eiifg=20 |
fpregisters=<integer> | fpr=<integer> | fpr=32 |
[no]fuse | fuse | nofuse |
fuselevel=<integer> | fuselevel=<integer> | fuselevel=0 |
generateh | genh | see User Guide |
heaplimit=<integer> | heap=<integer> | heaplimit=100 |
hdir=<directory_name> | hd=<directory_name> | hd=current directory |
hoist_loop_invariants=
<integer> |
hli=<integer> | hli=1 |
library_calls=<name> | lc=<name> | off |
limit=<integer> | lm=<integer> | lm=20000 |
machine=<list> | [no]ma=<list> | ma=s |
max_invariant_if_growth=
<integer> |
miifg=<integer> | miifg=500 |
routine=<routine_name>
/<limited qualifiers> |
rt=<routine_name>
/<limited qualifiers> |
off |
setassociativity=
<integer>,<integer> |
sasc=
<integer, integer> |
sasc=1,1 |
[no]srlcd | srlcd | nosrlcd |
unroll=<integer> | ur=<integer> | ur=4 |
unroll2=<integer> | ur2=<integer> | ur2=160 |
unroll3=<integer> | ur3=<integer> | ur3=1 |
useh | useh | see User Guide |
Value | Meaning |
---|---|
assume | |
a | c*$* assert argument aliasing |
b | c*$* assert bounds violations |
c | c*$* assert temporaries for constant arguments |
e | c*$* assert equivalence hazard |
l | c*$* assert last value needed |
directives | |
a | KAP assertions |
k | KAP c*$* directives |
p | parallel directives |
v | VAST cvd$ directives |
listoptions | |
c | Calling tree at end of program listing |
k | KAP options used, printed at end of each program unit |
l | Loop-by-loop optimization table |
n | Names of program unit |
o | Original program listing |
p | Performance statistics compilation |
s | Summary of optimizations performed |
t | Transformed program listing |
machine | |
n | Prefer non-stride-1 array access |
o | Directs KAP to parallelize only outer loops |
s | Prefer optimization of DO loop stride-1 references |
optimize | |
0 | No optimization performed |
1 |
Only simple analysis and optimization performed
Induction variables recognized DO loop interchanging techniques applied |
2 |
Lifetime analysis performed
More powerful data dependence tests used |
3 |
More loop interchanging performed
Special case data dependence tests performed Wraparound variables recognized |
4 |
Loop interchanging around reductions
More exact data dependence tests performed |
5 | Array expansion enabled |
other | |
Limit | >0 |
Arclimit | >0 |
Library_calls | BLAS |
roundoff | |
0 | No roundoff-changing transformations |
1 |
Expression simplification and code floating enabled
Arithmetic reductions recognized Loop interchanging around arithmetic reductions allowed if -optimize is greater than 4 Loop rerolling allowed when -scalaropt is greater than 1 |
2 | Reciprocal substitution performed to move an expensive division outside of loop |
3 |
Recognize real induction variables if -scalaropt is greater than 2 or
-optimize is greater than 1
Memory management enabled if -scalaropt=3 Expressions such as A / B / C can be rotated to A / (B*C) |
scalaropt | |
0 | No scalar optimizations performed |
1 |
IF loops changed into DO loops
Simple code floating out of loops performed Inaccessible or unused code is removed Forward substitution of variables performed Dusty deck IF transformations enabled |
2 |
Full range of scalar optimizations enabled
Floating invariant IFs out of loops Induction variable recognition Loop rerolling if -roundoff is greater than 1 Loop peeling, loop fusion, loop unrolling |
3 |
Memory management performed if -roundoff=3
Additional dead-code elimination performed during output conversion |
suppress | |
d | Disables data dependence messages |
e | Disables syntax error messages |
i | Disables informational messages |
n | Disables not optimized messages |
q | Disables questions |
s | Disables standardized messages |
w | Disables syntax warning messages |
syntax | |
a | Strict compliance with ANSI Fortran |
v | Accepts DEC Fortran source files |
f90 | Strict compliance with ANSI Fortran 95 standard |
unroll --- enabled only with -scalaropt=2 | |
-unroll=<#it> and -unroll2=<weight> and -unroll3=<weight> | |
where:
<#it> is the maximum number of iterations to unroll.
<weight> is the maximum (-unroll2) or minimum (-unroll3) weight, estimate of work, in an unrolled loop. Work is estimated by counting operands and operators in a loop. |
KAP Assertion | Duration |
---|---|
c*$* assert [no]argument aliasing | Until reset |
c*$* assert [no]bounds violations | Until reset |
c*$* assert [no]equivalence hazard | Until reset |
c*$* assert [no]last value needed | Until reset |
c*$* assert permutation (name) | Next loop |
c*$* assert no recurrence (<names>) | Next loop |
c*$* assert relation
(name .xx. variable/constant) |
Next loop |
c*$* assert no sync | Next loop |
c*$* assert [no]temporaries for
constant arguments |
Until reset |
Parallel Processing (Automatic): | |
c*$* assert concurrent call | End of loop |
c*$* assert do (concurrent) | End of loop |
c*$* assert do (serial) | End of loop |
c*$* assert do prefer (concurrent) | End of loop |
c*$* assert do prefer (serial) | End of loop |
KAP Directive | Range of Values |
Optimization: | |
c*$* arclimit (n) | 0--5000 |
c*$* each_invariant_if_growth (n) | 0--20 |
c*$* limit (n) | >0 |
c*$* max_invariant_if_growth (n) | 0--500 |
c*$* optimize (n) | 0--5 |
c*$* roundoff (n) | 0--3 |
c*$* scalar optimize (n) | 0--3 |
c*$* unroll (n1[,n2])
n1 for unroll, n2 for unroll2 |
n1,n2>0 |
Parallel Processing (Automatic): | |
c*$* [no]concurrentize | 0--5 |
c*$* minconcurrent | 0--999999 |
Inlining and Interprocedural Analysis: | |
c*$*[no]inline [scope] [(name)] | On/off |
c*$*[no]ipa [scope] [(name)] | On/off |
Memory Management: | |
c*$* padding (name) | (var-list) |
c*$* storage order (names) | (var-list) |
Assertions: | |
c*$*[no]assertions | On/off |
Next |