This chapter describes the command-line qualifiers of the basic KAP Fortran for OpenVMS ALPHA.
To specify a command qualifier, you can use the long name or short
name. Additionally, you can specify command qualifiers on the first
line of the source file. (See the description of the C*$*
qualifier
line at the end of this chapter.)
Many KAP command qualifiers can also be set with inline directives or assertions.
Table 4-1 lists the command qualifiers. The first column lists the long name of each qualifier, and also shows the functional categories of qualifiers as follows:
The next two columns list the short names and default value of each qualifier.
Long Name | Related Qualifier | Short Name | Default Value |
---|---|---|---|
General Optimization | |||
[no]interchange | o,so | interchange | interchange |
[no]namepartitioning= (<integer>,<integer>) | so | [n]namepart= (<integer>,<integer>) | nonamepartitioning |
optimize=<integer> | o=<integer> | optimize=5 | |
roundoff=<integer> | o, so | r=<integer> | roundoff=3 |
scalaropt=<integer> | r | so=<integer> | scalaropt=3 |
[no]skip | sk | [n]sk | noskip |
tune=<architecture> | tune=<architecture> | tune=<architecture> | |
Parallel Processing Qualifiers | |||
[no]concurrentize | [n]conc | noconcurrentize | |
minconcurrent=<integer> | mc | minconcurrent=1000 | |
[no]parallelio | [n]pio | noparallelio | |
scheduling=<list> | sched=<list> | scheduling=e | |
Fortran Dialect | |||
assume=<list> | a=<list> | assume=cel | |
noassume | na | ||
[no]case | [n]case | nocase | |
[no]datasave | sv | [n]ds | datasave |
[no]dlines | [n]dl | nodlines | |
[no]escape | noescape | escape | |
integer=<integer> | int=<integer> | integer=4 | |
[no]intlog | sy | [n]intl | intlog |
logical=<integer> | log=<integer> | logical=4 | |
[no]natural | [n]nat | see Section 4.3.10 | |
[no]onetrip | [n]1 | noonetrip | |
real=<integer> | rl=<integer> | real=4 | |
[no]recursion | [n]rc | norecursion | |
save=<list> | ds, rc | sv=<list> | save=manual_adjust |
scan=<integer> | scan=<integer> | scan=72 | |
syntax=<list> | sy=<list> | (off) | |
[no]type | [n]ty | notype | |
Directives | |||
directives=<list> | dr=<list> | directives=ak | |
nodirectives=<list> | ndr | ||
[no]ignoreoptions | [n]ig | noignoreoptions | |
Inlining and IPA | |||
inline[=<names>] | ag | 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> | ipa | incr=<file> | off |
ipa_create=<file> | ipacr=<file> | off | |
inline_depth=<integer> | ind=<integer> | inline_ depth=2 | |
ipa_ depth=<integer> | ipad=<integer> | ipa_depth=2 | |
inline_from_files=<file>,<file> | inl | inff=<file>,<file> | current source file |
ipa_ from_files=<file>,<file> | ipa | ipaff=<file>,<file> | current source file |
inline_from_libraries= <library>,<library> | inl | infl=<library>, <library> | off |
ipa_from_ libraries=<library>,<library> | ipa | 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> | see Section 4.4.11 | inline_ optimize=0 | |
ipa_ optimize=<integer> | noipa_optimize=0 | ||
Input- Output | |||
cmp=<file> | cmp=<file> | nocmp | |
fortran=<file> | f=<file> | nof | |
lines=<integer>0 | ln=<integer> | lines=55 | |
list=<file> | [n]l | ||
[no]list | [n]l | ||
cmpoptions[=<list>] | cp[=<list>] | cmpoptions=n | |
nocmpoptions | ncp | ||
Listing | |||
cmpoptions[=<list>] | cp[=<list>] | cmpoptions=n | |
nocmpoptions | ncp | ||
lines=<integer> | ln=<integer> | lines=55 | |
listingwidth=<integer> | lo | lw=<integer> | listingwidth=132 |
listoptions=<list> | lo=<list> | listoptions=0 | |
suppress=<list> | su=<list> | off | |
Advanced Optimization | |||
aggressive=<list> | nat, inl | ag=<list> | noaggressive |
noaggressive | nag | ||
[no]arclimit=<integer> | so, r | [n]arclm=<integer> | arclimit=5000 |
cacheline=<integer>[,<integer>] | chl=<integer> [,<integer>] | cacheline=32,32 | |
cache_prefetch_line_ count=<integer> | cplc=<integer> | cache_prefetch_line_ count=0 | |
cachesize=<integer>[,<integer>] | chs=<integer> [,<integer>] | cachesize=8,0 | |
dpregisters=<integer> | dpr=<integer> | dpregisters=32 | |
each_invariant_if_ growth=<integer> | so, r, miifg | eiifg=<integer> | eiifg=20 |
fpregisters=<integer> | fpr=<integer> | fpr=32 | |
[no]fuse | so,o | fuse | nofuse |
fuselevel=<integer> | fuse | fuselevel=<integer> | fuselevel=0 |
heaplimit=<integer> | heap=<integer> | heaplimit=116 | |
hoist_ loop_invariants=<integer> | hli | hli=1 | |
[no]interleave | intl | interleave | |
library_calls=<name> | ro | lc=<name> | off |
limit=<integer> | lm=<integer> | lm=20000 | |
[no]machine=<list> | so, r | ma=<list> | ma=s |
max_invariant_if_ growth=<integer> | so, r, eiifg | miifg=<integer> | miifg=500 |
[no]routine= <routine_name>/<limited qualifiers> | See text | [n]rt=<routine_name> /<limited qualifiers> | noroutine |
setassociativity=<integer> | so, r | sasc=<integer> | sasc=1 |
[no]srlcd | so | [n]srcld | nosrlcd |
unroll=<integer> | so, r | ur=<integer> | unroll=4 |
unroll2=<integer> | so, r | ur2=<integer> | unroll2=160 |
unroll3=<integer> | so, r | ur2:<integer> | unroll3=20 |
The subheadings in the following sections list the long and short names for each qualifier, followed by its default in parentheses.
Unless otherwise noted, the code examples in this chapter were
run with /optimize=5, /scalaropt=2, /roundoff=2
, and
/unroll=1
.