Preface |
Preface
|
Preface
|
Chapter 1 |
1
|
Overview
|
Chapter 2 |
2
|
How to Run KAP
|
2.1
|
Using KAP
|
2.2
|
Installing KAP
|
2.3
|
Compiling a Program Using the kcc Driver
|
2.4
|
Saving Optimized Source Programs
|
2.5
|
KAP Command Switches Determined by Compiler Switches
|
2.6
|
Invoking the C Preprocessor
|
2.7
|
Preprocessing a Program Using kapc
|
2.8
|
Using KAP Syntax
|
2.9
|
Using File Naming Conventions
|
2.10
|
Introducing the Five-Minute KAP Guide
|
2.10.1
|
Optimizing Small Programs with KAP
|
2.10.2
|
Optimizing Large Programs with KAP
|
2.10.3
|
General Optimization Tips
|
2.11
|
Improving and Customizing KAP Performance
|
2.12
|
Using Additional Performance Improvement Techniques
|
2.13
|
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 kcc Driver
|
3.2.1
|
Preprocessing a Program for Parallel Execution Using kapc
|
3.3
|
Directed Parallelization Using the kcc 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 kcc 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 kapc
|
3.6
|
Running a Parallelized Program
|
3.7
|
Parallel Processing Options
|
3.8
|
Parallel Programming Tips
|
Chapter 4 |
4
|
KAP Command Switches
|
4.1
|
Switches for the kcc Driver
|
4.1.1
|
-cc, -nocc, (-cc=/usr/bin/cc)
|
4.1.2
|
-cext, (C file extension)
|
4.1.3
|
-ckap, (-ckap='/usr/bin/kapc')
|
4.1.4
|
-ckapargs
|
4.1.5
|
-cpp, (-cpp='/usr/bin/cc')
|
4.1.6
|
-sif, -S (off)
|
4.1.7
|
-tmpdir, (-tmpdir=/tmp/)
|
4.1.8
|
-tune, (-tune=current system architecture)
|
4.1.9
|
-verbose, -v, (-nov)
|
4.2
|
General Optimization Switches for the kapc Preprocessor
|
4.2.1
|
-interchange, -nointerchange, (-interchange)
|
4.2.2
|
-namepartitioning, -namepart, -nonamepart, (-nonamepartitioning)
|
4.2.3
|
-natural, -nat, (-nonatural), -nnat
|
4.2.4
|
-optimize, -o, (-optimize=5)
|
4.2.5
|
-recursion, -rc, (-norecursion), -nrc
|
4.2.6
|
-roundoff, -r, (-roundoff=3)
|
4.2.7
|
-scalaropt, -so, (-scalaropt=3)
|
4.2.8
|
-skip, -sk, -nsk, (-noskip)
|
4.2.9
|
-tune, -tune, (-tune=<architecture>)
|
4.3
|
Parallel Processing Switches for the kapc Preprocessor
|
4.3.1
|
-concurrentize, -conc, -noconc, (-noconcurrentize)
|
4.3.2
|
-minconcurrent, -mc, (-minconcurrent=1000)
|
4.3.3
|
-scheduling=<list>, -sched=<list>, (-sched=e)
|
4.4
|
Inlining and Interprocedural Analysis Switches for the kapc Preprocessor
|
4.4.1
|
-inline, -inl (off), -noinline, -ninl, -ipa, -ipa, (off), -noipa, -nipa
|
4.4.2
|
-inline_and_copy, -inlc, (off)
|
4.4.3
|
-inline_create, -incr, (off), -ipa_create, -ipacr, (off)
|
4.4.4
|
-inline_depth, -ind, (-inline_depth=2), -ipa_depth, -ipad, (-ipa_depth=2)
|
4.4.5
|
-inline_from_files, -inff, (Current Source File)
|
4.4.6
|
-inline_from_libraries, -infl, (off)
|
4.4.7
|
-ipa_from_files, -ipaff, (Current Source File)
|
4.4.8
|
-ipa_from_libraries, -ipafl, (off)
|
4.4.9
|
-inline_looplevel, -inll, (-inline_looplevel=2), -ipa_looplevel, -ipall, (-ipa_looplevel=2)
|
4.4.10
|
-inline_manual, -inm, (off), -ipa_manual, -ipam, (off)
|
4.4.11
|
-inline_optimize, (-inline_optimize=0), -ipa_optimize, (-ipa_optimize=0)
|
4.5
|
Language Switches for the kapc Preprocessor
|
4.5.1
|
-signed, -signed, (-signed)
|
4.6
|
Advanced Optimization Switches for the kapc Preprocessor
|
4.6.1
|
-addressresolution, -arl, (-arl=1)
|
4.6.2
|
-arclimit, -arclm, -noarclimit, (-arclimit=5000)
|
4.6.3
|
-cacheline, -chl, (-cacheline=32)
|
4.6.4
|
-cache_prefetch_line_count, -cplc, (-cplc=0)
|
4.6.5
|
-cachesize, -chs, (-cachesize=8,0)
|
4.6.6
|
-dpregisters, -dpr, (-dpregisters=32)
|
4.6.7
|
-each_invariant_if_growth, -eiifg, (-eiifg=20)
|
4.6.8
|
-fpregisters, -fpr, (-fpregisters=32)
|
4.6.9
|
-fuse, -nfuse, (-nofuse)
|
4.6.10
|
-fuselevel, (-fuselevel=0)
|
4.6.11
|
-heaplimit, -heap, (-heaplimit=100)
|
4.6.12
|
-limit, -lm, (-limit=50)
|
4.6.13
|
-machine, -ma, -noma, (-machine=s)
|
4.6.14
|
-max_invariant_if_growth, -miifg, (-miifg=500)
|
4.6.15
|
-routine, -rt, -nrt, (-noroutine)
|
4.6.16
|
-setassociativity, -sasc, (-setassociativity=1,1)
|
4.6.17
|
-stdio, -stdio, (off)
|
4.6.18
|
-syntax, -sy, (-syntax=d)
|
4.6.19
|
-unroll, -ur, (-unroll=4), -unroll2, -ur2, (-unroll2=160), -unroll3, -ur3, (-unroll3=1)
|
4.7
|
Input-Output Files Switches for the kapc Preprocessor
|
4.7.1
|
-cmp, (<file>.cmp.c), (<file>.cmp), -nocmp, -ncmp
|
4.7.2
|
-list, -l, (-nolist), -nolist, -nl
|
4.8
|
Listing Switches for the kapc Preprocessor
|
4.8.1
|
-cmpoptions, -cp, (-nocmpoptions), -nocmpoptions, -ncp
|
4.8.2
|
-lines, -ln, (-lines=55)
|
4.8.3
|
-listingwidth, -lw, (-listingwidth=132)
|
4.8.4
|
-listoptions, -lo, (-no listing)
|