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
|