Index
Symbols
-
, xv
- %VAL(), pass by value, 180
- * as logical unit identifier, 5
A
- abrupt underflow, 87
- agreement across routines, -Xlist, 51
- aliasing, 104
- align
- data types, Fortran 90 vs. C, 178
- data, Fortran 77 vs C, 177
- errors across routines, -Xlist, 51
- ANSI
- conformance check, -Xlist, 52
- ANSI X3.9-1978 standard, 1
- ar to create static library, 39, 43
- arguments
- reference versus value, C-Fortran interface, 180
- array
- differences between C and Fortran, 181
- ASCII characters
- maximum characters in data types, 101
B
- -Bdynamic, -Bstatic, 45
- bindings
- POSIX, 48
- static or dynamic (-B, -d), 45
- Xlib, 48
- XView, 48
- blank space, xv
- BS 6832 standard, 1
C
- -C, 67
- C directive, 180
- C$PAR Sun-style directives, 151
- call
- graphs, -Xlistc, 61
- in parallelized loops, 153
- inhibiting optimization, 129
- passing arguments by reference or value, 180
- carriage-control, 98
- case sensitivity, 179
- C-Fortran interface
- array indexing, 181
- call arguments and ordering, 180
- case sensitivity, 179
- comparing I/O, 182
- compatibility issues, 175
- function compared to subroutine, 176
- function names, 179, 184
- passing data by value, 190, 191, 195
- sharing I/O, 195
- checking strictness, -Xlistvn, 63
- CHUNKSIZE directive qualifier, 169
- CMIC$ Cray-style directives, 167
- command line
- passing runtime arguments, 9
- redirection and piping, 12
- common block
- maps, -Xlist, 63
- compile
- viewing source listing with diagnostics, 69
- conventions in text, xv
- Cray style parallelization directives, 149
- cross reference table, -Xlist, 64
D
- -dalign, 125
- data
- alignment, Fortran 77 vs C, 177
- alignment, Fortran 90 vs C, 178
- Hollerith, 100
- inspection, dbx, 68
- maximum characters in data types, 101
- representation, 100
- sizes, C vs. Fortran 77, 177
- sizes, C vs. Fortran 90, 178
- data dependency
- apparent, 143
- parallelization, 136
- restructuring to eliminate, 137
- data race
- defined, 166
- dd conversion utility, 18
- debug, 51 to 69
- arguments, agree in number and type, 51
- common blocks, agree in size and type, 51
- compiler options, 67
- dbx and debugger, 68 to 69
- exceptions, 88
- index check of arrays, 67
- linker debugging aids, 33
- parameters, agree globally, 51
- segmentation fault, 67
- subscript array bounds checking, 67
- declared but unused, checking, -Xlist, 52
- denormalized number, 91
- -depend, 126
- diagnostics, source, 69
- direct I/O, 13
- to internal files, 15
- directives
- C() C interface, 180
- Cray parallelization, 167
- parallelization, summary, 139
- Sun parallelization, 151
- display to terminal, -Xlist, 53
- division by zero, 73
- -dn, -dy, 46
- DOALL directive, 152
- qualifiers, 154
- documentation, 3
- DOSERIAL directive, 152
- DOSERIAL* directive, 152
- dynamic libraries
- See libraries, dynamic
E
- environment variables
- LD_LIBRARY_PATH, 37
- LOGICALNAMEMAPPING, 12
- PARALLEL, 140
- passed to program, 10
- with IOINIT, 10
- equivalence block maps, -Xlist, 63
-
- error
- messages
- listing with -XlistE, 61
- suppress with -Xlist, 61
- standard error
- accrued exceptions, 86
- establish a signal handler, 83
- event management, dbx, 68
- exceptions
- accrued, 78
- debugging, 88 to 90
- detecting, 83
- IEEE, 73
- ieee_handler, 80
- messages, 88
- suppressing warnings with ieee_flags, 77, 88
- trapping
- with -ftrap=mode, 87
- extended
- syntax check, -Xlist, 52
- extensions and features, 2
- external
- C functions, 180
- names, 179
F
- FACTORING, directive qualifier, 159
- -fast, 123
- features and extensions, 2
- feedback, performance profiling, 124
- file names
- on INCLUDE statements, 12
- passing to programs, 9
- files
- attached at runtime, 10
- internal, 15
- opening scratch files, 7
- passing file names to programs, 9, 99
- permissions, C-Fortran interface, 183
- preconnected, 7, 8
- standard error, 7, 8
- standard input, 7, 8
- standard output, 7, 8
- tape, 18
- FIPS 69-1 standard, 1
- fix and continue, dbx, 68
- .fln files
- directory, -Xlist, 61
- -Xlist, 54
- analysis files, .fln, -Xlist, 54
- floating-point arithmetic, 71 to 94
- considerations, 91
- denormalized number, 91
- exceptions, 73
- IEEE, 72
- underflow, 91
- See also IEEE arithmetic, 72
- -fns, disable underflow, 87
- font conventions, xv
- format
- edit descriptors, 98
- Fortran
- libraries, 48
- standards and validation, 1
- SunSoft features and extensions, 2
- free format, xv
- -fsimple, 126
- -ftrap=mode, 87
- function
- compared to subroutine, 176
- data type of, checking, -Xlist, 52
- names, Fortran vs. C, 179
- unused, checking, -Xlist, 52
- used as a subroutine, checking, -Xlist, 52
G
- -G, 47
- GETARG library routine, 6, 9
- GETC library routine, 18
- GETENV library routine, 6, 10
- global
- program checking, 51
- strictness, -Xlist, 63
- gprof
- usage, 110
- graphically monitor variables, dbx, 68
- GSA validation, 1
- GSS, directive qualifier, 159
- GUIDED directive qualifier, 169
H
- Hollerith data, 100
I
- IDATE VMS routine, 48
- IEEE (Institute of Electronic and Electrical Engineers), 72
- IEEE arithmetic
- 754 standard, 1, 72
- continue with wrong answer, 92
- exception handling, 74
- exceptions, 73
- excessive overflow, 93
- gradual underflow, 86, 91
- interfaces, 74
- signal handler, 83
- underflow handling, 86
- ieee_flags, 74, 76, 88
- ieee_functions, 74
- ieee_handler, 74, 80
- ieee_retrospective, 86, 88
- ieee_values, 75
- INCLUDE, 12
- include files
- list and cross checking with -XlistI, 62
- inconsistency
- arguments, checking, -Xlist, 52
- named common blocks, checking, -Xlist, 52
- indirect addressing
- data dependency, 137
- inexact
- floating-point arithmetic, 73
-
- input/output, 5 to 19
- accessing files, 5
- comparing Fortran and C I/O, 182
- dd conversion utility, 18
- direct I/O, 13
- to internal files, 15
- end-of-file on tape, 18
- Fortran 90 considerations, 19
- in parallelized loops, 165
- inhibiting optimization, 129
- inhibiting parallelization, 163
- initialize for FORTRAN 77 from C, 196
- internal I/O, 15
- logical unit, 5
- opening files, 7
- preconnect units 0, 5, 6 from C, 196
- preconnected units, 7
- profiling, 118
- random I/O, 13
- redirection and piping, 12
- scratch files, 7
- tape, 17
- multifile, 19
- interface
- problems, checking for, -Xlist, 52
- internal files, 15
- IOINIT library routine, 10
K
- keywords, xv
L
- labels, unused, -Xlist, 52
- -Ldir, 36
- libF77, 48
- libFposix, 48
- libM77, 48
- libraries, 31 to 50
- create
- dynamic, 44
- static, 46
-
- dynamic
- creating, 44
- example, 46
- naming, 46
- position-independent code, 45
- specifying, 38
- tradeoffs, 44
- in general, 31
- linking, 32
- load map, 32
- math, 48
- optimized, 128
- POSIX, 49
- profiling, 114
- provided with SunSoft Fortran, 48
- redistributable, 50
- search order
- command line options, 36
- LD_LIBRARY_PATH, 37
- paths, 35
- shared
- See dynamic
- static
- creating, 39
- ordering routines, 43
- recompile and replace module, 43
- tradeoffs, 39
- VMS, 48
- libV77, 48
- line width, output, -Xlist, 63
- line-numbered listing, -Xlist, 53
- linking
- binding options (-B, -d), 45
- consistent compile and link, 34
- libraries, 32
- specifying static or dynamic, 45
- mixing C and Fortran, 183
- search order, 35
- -lx, -Ldir, 36
- troubleshooting errors, 38
- lint-like checking across routines, -Xlist, 51
- listing
- cross-references with -Xlist, 64
- line numbered with diagnostics, -Xlist, 51
- -XlistL, 62
- logical unit, 5
- attached at runtime, 10
- loop unrolling
- and portability, 106
- with -unroll, 126
- -lV77, 49
- -lx, 36
M
- -m linker option for load map, 33
- macros
- with make, 23
- make, 21, 25
- command, 23
- macros, 23
- makefile, 21
- suffix rules, 25
- makefile, 21
- maps
- common blocks, -Xlist, 63
- equivalence blocks, -Xlist, 63
- MAXCPUS, directive qualifier, 154, 168
- measuring program performance See performance, profiling
- MIL-STD-1753 standard, 1
- monitor variables graphically, dbx, 68
- multifile tape access, 19
- multifile tapes, 19
- multiplatform release, xiv
- multithreading
- See parallelization
N
- NBS validation, 1
- NIST validation, 1
- nonstandard_arithmetic(), 87
- NUMCHUNKS directive qualifier, 169
O
- /opt/SUNWspro
- standard location for Sun software, 35
- optimization
- hand restructurings and portability, 104
- optimization See performance
- options
- debugging, useful, 67
- for optimization, 122
- parallelization, 138
- order of
- linker libraries search, 35
- linker search, 35
- -lx, -Ldir options, 36
- output
- to terminal, -Xlist, 53
- -Xlist report file, 62
- overflow
- excessive, 93
- floating-point arithmetic, 73
- locating
- example, 90
- with reduction operations, 147
- overriding make macro values, 24
P
- PARALLEL, number of processors, 140
- parallelization, 133 to 173
- automatic, 142, 143
- criteria, 143
- CALL, loops with, 153
- chunk distribution, 142
- data dependency, 136
- data race, 166
- debugging, 169
- definitions, 142
- directives
- Cray-style, 167
- summary, 139
- Sun style directives, 151
-
- explicit, 149
- criteria, 149
- loop scheduling, 159
- loop scheduling (Cray), 169
- scoping rules, 150
- scoping variables with Cray directives, 167
- inhibitors
- for f90, 169
- to automatic parallelization, 144
- to explicit parallelization, 162
- options summary, 138
- private and shared variables, 150
- reduction operations, 145
- specifying number of processors, 140
- specifying stack sizes, 140
- -stackvar, 140
- steps to, 135
- what to expect, 134
- with directives, 149
- performance
- optimization, 121 to 131
- choosing options, 122
- further reading, 131
- inhibitors, 129
- levels, 124
- libraries, 128
- loop unrolling, 126
- options
- summary, 123
- specifying target hardware, 127
- with runtime profile, 124
- See also parallelization
- profiling, 109 to 120
- gprof, 110
- I/O, 118
- libraries missing, 114
- overhead, 114
- tcov, 115
- time, 109
- -PIC, 45
- -pic, 45
- platforms, xiv
- porting, 95 to 108
- accessing files, 99
- aliasing, 104
- carriage-control, 98
- data representation issues, 100
- format edit descriptors, 98
- Hollerith data, 100
- initializing with Hollerith, 101
- nonstandard coding, 103
- obscure optimizations, 104
- precision considerations, 94
- problems, checking, -Xlist, 52
- strip-mining, 105
- time functions, 95
- troubleshooting guidelines, 107
- uninitialized variables, 104
- unrolled loops, 106
- position-independent code
- (-pic), 45
- POSIX
- bindings, libFposix, 48
- Library, 49
- pragma
- See directives
- preattached logical units, 10
- preconnected units, 7
- preserve case, 179
- preserving precision, 94
- PRIVATE, directive qualifier, 154, 168
- process control, dbx, 68
- program analysis, 51 to 69
- program development tools, 21 to 29
- make, 21
- SCCS, 26
- psrinfo command, 140
- pure scalar variable
- defined, 143
R
- random I/O, 13
- READONLY, directive qualifier, 154
- recurrence
- data dependency, 136
- redistributable libraries, 50
- reduction operations
- data dependency, 137
- numerical accuracy, 147
- recognized by the compiler, 146
- REDUCTION, directive qualifier, 154
- referenced but not declared, checking, -Xlist, 52
- retrospective summary of exceptions, 86
- roundoff
- with reduction operations, 147
- runtime
- arguments to program, 9
- runtime.libraries, redistributable, 50
S
- SAVELAST, directive qualifier, 154, 168
- scalar
- defined, 143
- SCCS
- checking in files, 29
- checking out files, 28
- creating files, 28
- creating SCCS directory, 26
- inserting keywords, 27
- putting files under SCCS, 26
- SCHEDTYPE, directive qualifier, 154
- scheduling, parallel loops, 159, 169
- segmentation fault
- due to out-of-bounds subscripts, 67
- SELF, directive qualifier, 159
- shared library
- See libraries, dynamic, 44
- SHARED, directive qualifier, 154, 168
- sharing I/O, C-Fortran interface, 195
- shippable libraries, 50
- SIGFPE signal
- definition, 74, 80
- when generated, 83
- SINGLE directive qualifier, 169
- source
- diagnostics, 69
- source code control See SCCS
- stack size and parallelization, 140
- STACKSIZE, stack size, 141
- -stackvar, 140
- standard
- error
- accrued exceptions, 86
- standard files
- error, 8
- input, 7
- output, 7
- redirection and piping, 12
- standard_arithmetic(), 87
- standards
- conformance, 1
- statement
- unreachable, checking, -Xlist, 52
- static libraries
- See libraries, static
- STATIC, directive qualifier, 159
- stdio, C-Fortran interface, 182
- STOREBACK, directive qualifier, 154
- strip-mining
- degrades portability, 105
- subroutine
- compared to function, 176
- names, 179
- unused, checking, -Xlist, 52
- used as a function, checking, -Xlist, 52
- suffix rules in make, 25
- summing and reduction, automatic parallelization, 145
- suppress
- error nnn, -Xlist, 61
- unreferenced identifiers, -Xlist, 62
- warnings
- -Xlist, 63
- syntax
- errors, -Xlist, 52
T
- tab format, xv
- tape files, 18
- tape I/O, 17
- end-of-file, 18
- multifile, 19
- target
- specifying hardware, 127
- tcov, 115
- time command, 109
- multiprocessor interpretation, 110
- time functions, 95
- summarized, 96
- VMS routines, 96
- TIME VMS routine, 48
- timing program execution, 109
- TOPEN library routines, 17
- transporting See porting
- trapping
- exceptions with -ftrap=mode, 87
- troubleshooting
- program fails, 108
- results not close enough, 107
- type checking across routines, -Xlist, 52
U
- -U do not convert to lowercase, 179
- undeclared
- variables, -u, 67
- underflow
- abrupt, 87
- floating-point arithmetic, 73
- gradual (IEEE), 86, 91
- simple, 92
- with reduction operations, 147
- underscore
- in external names, 180
- uninitialized
- variables, 104
- unit
- logical unit attached at runtime, 10
- preconnected units, 7
- -unroll, 126
- unused functions, subroutines, variables, labels, -Xlist, 52
- uppercase
- external names, 179
- uppercase characters, xv
V
- -V, 68
- VAL(), pass by value, 180
- validation of Fortran, 1
- variables
- aliased, 104
- private and shared, 150, 167
- undeclared, checking for with -u, 67
- uninitialized, 104
- unused, checking, -Xlist, 52
- used but unset, checking, -Xlist, 52
- version
- checking, 68
- Viewing, 69
- VMS Fortran
- file names on INCLUDE, 12
- library libV77, 48
- time functions, 96
W
- watchpoints, dbx, 68
- width of output lines, -Xlist, 63
X
- X11 interface, 48
- X3.9-1978, 1
- -xl[d], 12
- -Xlist
- a la carte options, 59
- combination special, 59
- defaults, 53
- display directly to terminal, 53
- errors and
- call graph, -Xlistc, 60
- cross reference, -XlistX, 60
- listing, -XlistL, 60
- suboptions, 59 to 64
- details, 61
- summary, 60
- -Xlistc, 61
- -XlistE, 60, 61
- -Xlisterr, 61
- -Xlistf, 61
- -Xlistflndir
- .fln files directory, 61
- -Xlisth, 61
- -XlistI, 62
- -XlistL, 62
- -Xlistln, 62
- -Xlisto, 62
- -Xlists, 62
- -Xlistvn, 63
- -Xlistw, 63
- -Xlistwar, 63
- -XlistX, 64
- -xprofile, 124
- -xtarget, 127
Z
- -ztext, 47