Parallel Programming Guide for HP-UX Systems

Index
212
item, 128, 131
items, different, 174
layout, 174
local to procedure, 130
multiple dependences, 134
object, 111
objects (C/C++), 128
private, 126
privatizing, 109
shared, 130
type statements (C/C++), 136
types, double, 130
DATA statement, 126, 176
deallocating
barriers, 138
gates, 136, 148
deallocation functions, 138
dependences, 120
data, 181
loop-carried, 181, 187
multiple, 134
nonordered, 145
ordered data, 134
synchronizing, 147
diagnostics library
message signature analysis, 58
MPI object-space corruption, 58
multiple buffer writes detection, 58
using, 58
DIMENSION statement, 137
directives
CRITICAL_SECTION, 145, 148
END_CRITICAL_SECTION, 145
END_ORDERED_SECTION, 147
LOOP_PARALLEL(ORDERED), 144
LOOP_PRIVATE, 109, 111
misused, 187
ORDERED_SECTION, 147
PARALLEL_PRIVATE, 109, 120
privatizing, 109
SAVE_LAST, 109, 115
SYNC_ROUTINE, 141
TASK_PRIVATE, 109, 118
DO loops, 111
double
data types, 130
variable, 184
dummy
argument, 137
arguments, 180
E
ellipses, vertical, xvii
END_CRITICAL_SECTION directive and
pragma, 146
environment variables
MP_GANG, 32
equivalencing
barriers, 137
gates, 137
examining code, 197
examples
critical sections and gates, 156
denoting induction variables in parallel
loops, 113
LOOP_PARALLEL(ORDERED), 144
node_private, 131
SAVE_LAST, 116
thread_private, 129
thread_private COMMON blocks in
parallel subroutines, 130
external, 176
F
false cache line sharing, 174
file
scope, 128
fixed ownership of cache lines, 194
floating-point
expression, 183
imprecision, 183
flow-sensitive analysis, 172
flush to zero, 185
for loop, 111
force
arrays to start on cache line boundaries (C),
176
arrays to start on cache line boundaries
(Fortran), 176
form of
alloc_barrier, 138
alloc_gate, 138