Compaq KAP Fortran/OpenMP
for Tru64 UNIX
User Guide


Begin Index

Contents (summary)
Preface Preface
Chapter 1 Overview
Chapter 2 How to Run Compaq KAP
Chapter 3 KAP Parallel Processing
Chapter 4 KAP and Fortran 90 Constructs
Chapter 5 Command Switches
Chapter 6 Directives
Chapter 7 Assertions
Chapter 8 Inlining and IPA
Chapter 9 Transformations
Chapter 10 KAP Listing File
Appendix A Compaq Fortran Extensions Supported by KAP Fortran/OpenMP
Appendix B Data Dependence Analysis
Appendix C OpenMP Examples
Appendix D PCF Directives
Appendix E KAP and Incorrect Programs
Appendix F Listing File Messages
  Index
  Tables


Contents


Preface
Preface Preface
Chapter 1
1 Overview
Chapter 2
2 How to Run Compaq KAP
     2.1     General KAP Information
     2.2     Installing Compaq KAP
     2.3     Compiling a Program Using the kf90 Driver
     2.4     Compiling a Program Containing C Preprocessor Directives Using kf90
     2.5     Optimized Programs
     2.6     KAP Command Switches Determined by Compiler Switches
     2.7     Compiling a Program Using kapf90
     2.8     Compiling a Program Containing C Preprocessor Directives Using kapf90
     2.9     Using KAP Syntax
     2.10     Using File Naming Conventions
     2.11     Optimization Hints and Tips
         2.11.1         Optimizing Small Programs with KAP
         2.11.2         Optimizing Large Programs with KAP
     2.12     General Optimization Tips
     2.13     Improving and Customizing KAP Performance
     2.14     Using Additional Performance Improvement Techniques
     2.15     Correcting KAP Problems
Chapter 3
3 KAP Parallel Processing
     3.1     Compaq KAP Parallel Processing
         3.1.1         Parallel Processing Methods
         3.1.2         Parallel Processing Controls --- Summary
         3.1.3         Parallel Processing Controls --- Interaction
     3.2     Automatic Parallelization Using the kf90 Driver
         3.2.1         Changing Source Programs
         3.2.2         Giving Command Line Switches
         3.2.3         Directing the Compilation and Linking Process
     3.3     Directed Parallelization Using the kf90 Driver and OpenMP Directives
         3.3.1         Changing Source Programs
         3.3.2         Giving Command Line Switches
         3.3.3         Directing the Compilation and Linking Process
     3.4     Combined Automatic and Directed Parallelization Using the kf90 Driver
         3.4.1         Changing Source Programs
         3.4.2         Giving Command Line Switches
         3.4.3         Directing the Compilation and Linking Process
     3.5     Compiling a Program for Parallel Execution Using kapf90
     3.6     Running a Parallelized Program
     3.7     Correcting KAP Parallel Processing Problems
     3.8     Parallel Programming Tips
     3.9     Parallel Processing Options
     3.10     Automatic Parallel Processing Directives
Chapter 4
4 KAP and Fortran 90 Constructs
     4.1     Arrays
     4.2     MODULE Variables
     4.3     MODULE Parameters
     4.4     MODULE Procedures
     4.5     Generic Fortran 90 Interfaces
     4.6     Internal Procedures
     4.7     Host-Associated Variables
     4.8     Derived Types
     4.9     Deferred Shape Objects
     4.10     Intrinsics
     4.11     Input/Output
Chapter 5
5 Command Switches
     5.1     Switches for the kf90 Driver
         5.1.1         -fext, (-fext=f)
         5.1.2         -f90, (-f90=/usr/bin/f90)
         5.1.3         -f90kap, (-f90kap=/usr/bin/kapf90)
         5.1.4         -fkapargs
         5.1.5         -S, (off)
         5.1.6         -tmpdir, (-tmpdir=/tmp/)
         5.1.7         -tune, (-tune=<current system architecture>)
         5.1.8         -verbose, -v, (-nov)
     5.2     General Optimization Switches for kapf90
         5.2.1         -interchange, -nointerchange, (-interchange)
         5.2.2         -namepartitioning, -namepart, -nnamepart, (-nonamepartitioning)
         5.2.3         -optimize, -o, (-optimize=5)
         5.2.4         -recursion, -rec, (-norecursion), -norec
         5.2.5         -roundoff, -r, (-roundoff=3)
         5.2.6         -scalaropt, -so, (-scalaropt=3)
         5.2.7         -skip, -sk, -nsk, (-noskip)
         5.2.8         -tune, -tune, (-tune=<architecture>)
     5.3     Parallel Processing Switches for kapf90
         5.3.1         -chunk
         5.3.2         -concurrent, -conc, -noconc, (-noconcurrent)
         5.3.3         -minconcurrent, -mc, (-minconcurrent=1000)
         5.3.4         -parallelio, -nopio, -pio, (-noparallelio)
         5.3.5         -pdefault
         5.3.6         -psyntax
         5.3.7         -scheduling=<list>, -sched=<list>, (-scheduling=e)
     5.4     Fortran Dialect Switches for kapf90
         5.4.1         -align_common, -align_common, (-align_common=8)
         5.4.2         -align_struct, -align_struct, (-align_struct=4)
         5.4.3         -assume, -a, (-assume=cel), -noassume, -na
         5.4.4         -datasave, -ds, (-datasave), -nodatasave, -nds
         5.4.5         -dlines, -dl, (-nodlines), -ndl
         5.4.6         -escape, -noescape, (-escape)
         5.4.7         -freeformat, -ff, (-nofreeformat)
         5.4.8         -integer, -int, (-integer=4)
         5.4.9         -intlog, (-intlog)
         5.4.10         -kind, (-kind), (-kind=4)
         5.4.11         -logical, -log, (-logical=4)
         5.4.12         -natural, -nat, -nonatural
         5.4.13         -onetrip, 1, (-noonetrip), -n1
         5.4.14         -real, -rl, (-real=4)
         5.4.15         -save, -sv, (-save=manual_adjust)
         5.4.16         -scan, (-scan=72)
         5.4.17         -syntax, -sy, (off)
         5.4.18         -type, -ty, (-notype), -nty
     5.5     Inlining and Interprocedural Analysis Switches for kapf90
         5.5.1         -inline, -inl, (off) -noinline, -ninl, -ipa, -ipa, (off), -noipa, -nipa
         5.5.2         -inline_and_copy, -inlc, (off)
         5.5.3         -inline_create, -incr, (off), -ipa_create, -ipacr, (off)
         5.5.4         -inline_depth, -ind, (-inline_depth=2), -ipa_depth, -ipad, (-ipa_depth=2)
         5.5.5         -inline_from_files, -inff, (current source file)
         5.5.6         -inline_from_libraries, -infl, (off)
         5.5.7         -ipa_from_files, -ipaff, (current source file)
         5.5.8         -ipa_from_libraries, -ipafl, (off)
         5.5.9         -inline_looplevel, -inll, (-inline_looplevel=2), -ipa_looplevel, -ipall, (-ipa_looplevel=2)
         5.5.10         -inline_manual, -inm, (off), -ipa_manual, -ipam, (off)
         5.5.11         -inline_optimize, (-inline_optimize=0), -ipa_optimize, (-ipa_optimize=0)
     5.6     Advanced Optimization Control for kapf90
         5.6.1         -aggressive, -ag, (-noaggressive), -nag
         5.6.2         -arclimit, -arclm, (-arclimit=5000)
         5.6.3         -cacheline, -chl, (-cacheline=32,32)
         5.6.4         -cache_prefetch_line_count, -cplc, (-cplc=0)
         5.6.5         -cachesize, -chs, (-cachesize=8,0)
         5.6.6         -dpregisters, -dpr, (-dpregisters=32)
         5.6.7         -each_invariant_if_growth, -eiifg, (-eiifg=20)
         5.6.8         -fpregisters, -fpr, (-fpregisters=32)
         5.6.9         -fuse, -nfuse, (-nofuse)
         5.6.10         -fuselevel, (-fuselevel=0)
         5.6.11         -generateh
         5.6.12         -hdir, -hd, (-hdir=current_directory)
         5.6.13         -heaplimit, -heap, (-heaplimit=100)
         5.6.14         -hoist_loop_invariants, -hli, (-hoist_loop_invariants=1)
         5.6.15         -interleave, -intl, (-interleave)
         5.6.16         -library_calls, -lc, (off)
         5.6.17         -limit, -lm, (-limit=10)
         5.6.18         -machine, -ma, -noma, (machine=s)
         5.6.19         -max_invariant_if_growth, -miifg, (-miifg=500)
         5.6.20         -routine, -rt, -nrt, (-noroutine)
         5.6.21         -setassociativity, -sasc, (-setassociativity=1,1)
         5.6.22         -srlcd, -nsrlcd, (-nosrlcd)
         5.6.23         -unroll, -ur, (unroll=4), -unroll2, -ur2, (-unroll2=160), -unroll3, -ur3, (-unroll3=1)
         5.6.24         -useh
     5.7     Directive Recognition Switches for kapf90
         5.7.1         -directives, -dr, (-directives=akpv), -nodirectives, -ndr
         5.7.2         -ignoreoptions, -ig, (-noignoreoptions), -nig
     5.8     Input-Output Switches for kapf90
         5.8.1         -cmp, (<file>.cmp.f90), (<file>.cmp.f), -nocmp, -ncmp
         5.8.2         -include, -inc, (-noinclude), ninc
         5.8.3         -list, -l, (<file>.out), -nolist, -nl
     5.9     Listing Switches for kapf90
         5.9.1         -cmpoptions, -cp, -cmpoptions=n, (-nocmpoptions), -ncp
         5.9.2         -lines, -ln, (-lines=55)
         5.9.3         -listingwidth, -lw, (-listingwidth=132)
         5.9.4         -listoptions, -lo, (-listoptions=o)
         5.9.5         -suppress, -su, (off)
     5.10     !*$* options


Previous Next Contents Index