Index

&space
Typographical Conventions

–align16 compiler option
Accessing Small Amounts of Misaligned Data
Accessing Small Amounts of Misaligned Data
Driver Options

–align32 compiler option
Driver Options

–align64 compiler option
Driver Options

–align8 compiler option
Accessing Small Amounts of Misaligned Data
Driver Options
Accessing Small Amounts of Misaligned Data

–automatic compiler option
Using the –static Flag

–backslash compiler option
Driver Options

–bestG compiler option
Performance

–C compiler option
Driver Options
Example: Erroneous C$DOACROSS

–check_bounds compiler option
Driver Options

–chunk compiler option
C$MP_SCHEDTYPE, C$CHUNK
Driver Options

–col72 compiler option
Driver Options

–cord compiler option
Performance

–cpp compiler option
Driver Options

–d_lines compiler option
Driver Options

–E compiler option
Driver Options

–expand_include compiler option
Driver Options

–extend_source compiler option
Driver Options

–F compiler option
Driver Options

–feedback compiler option
Performance

–framepointer compiler option
Driver Options

–g compiler option
Reference Information
Multiprocess Debugging Session
Performance

–i2 compiler option
Driver Options

–jmpopt compiler option
Performance

–l compiler option
Linking Objects

–listing compiler option
Driver Options

–lm compiler option
Specifying Link Libraries

–lp compiler option
Specifying Link Libraries

–m compiler option
Driver Options

–mp compiler option
Driver Options
Example: Erroneous C$DOACROSS
Executing Spooled Routines
Compiling and Running

–mp_schedtype compiler option
Driver Options
C$MP_SCHEDTYPE, C$CHUNK

–N compiler option
Driver Options

–nocpp compiler option
Compilation
Driver Options

–noexpopt compiler option
Driver Options

–noextend_source compiler option
Driver Options

–nof77 compiler option
Driver Options

–noi4 compiler option
Driver Options

–noisam compiler option
Driver Options

–O compiler option
Optimizing

–old_rl compiler option
Driver Options

–onetrip compiler option
Driver Options
Driver Options

–P compiler option
Driver Options
Profiling

–pfa compiler option
Driver Options

–R compiler option
Driver Options

–r8 compiler option
Driver Options

–static compiler option
Using the –static Flag
Example: Erroneous C$DOACROSS
Example 5: Function Call
Driver Options
Example: Erroneous C$DOACROSS

–trapeuv compiler option
Driver Options

–u compiler option
Driver Options
Driver Options
Driver Options

–usefpidx compiler option
Driver Options

–vms_cc compiler option
Driver Options

–vms_endfile compiler option
Driver Options

–vms_library compiler option
Driver Options

–vms_stdin compiler option
Driver Options

–w compiler option
Driver Options

–w66 compiler option
Driver Options

–Xlocaldata loader directive
Local COMMON Blocks

alignment
Alignment, Size, and Value Ranges
Access of Misaligned Data

archiver, ar
Archiver

arguments
order
Arguments
passing between C and Fortran
Arguments
passing between Fortran and Pascal
Arguments

arrays
C
Array Handling
character
Fortran Character Array Lengths
declaring
Alignment, Size, and Value Ranges
Pascal
Array Handling

barrier function
mp_setlock, mp_unsetlock, mp_barrier

blocking slave threads
mp_block and mp_unblock

C functions
calling from Fortran
Names

C macro preprocessor
Driver Options
Compilation

C$
C$

C$&
C$&

C$CHUNK
C$MP_SCHEDTYPE, C$CHUNK

C$COPYIN
Local COMMON Blocks

C$DOACROSS
C$DOACROSS
and REDUCTION
REDUCTION
continuing with C$&
C$&
loop naming convention
Loop Transformation
nesting
Nesting C$DOACROSS

C$MP_SCHEDTYPE
C$MP_SCHEDTYPE, C$CHUNK

C-style comments
accepting in Hollerith strings
Compilation

cache
reducing conflicts
Performance

cache
Cache Effects

character arrays
Fortran Character Array Lengths

character variables
Using Fortran Character Variables as Parameters

CHUNK
MP_SCHEDTYPE, CHUNK

CHUNK
Example:

comments
Compilation

COMMON blocks
Example: Erroneous C$DOACROSS
SHARE, LOCAL, LASTLOCAL
Alignment, Size, and Value Ranges
Accessing Common Blocks of Data
making local to a process
Local COMMON Blocks

compilation
Compilation

compiler options
Driver Options
–1
Driver Options
–align16
Accessing Small Amounts of Misaligned Data
Accessing Small Amounts of Misaligned Data
Driver Options
Alignment, Size, and Value Ranges
–align32
Driver Options
–align64
Driver Options
–align8
Driver Options
Alignment, Size, and Value Ranges
Accessing Small Amounts of Misaligned Data
Accessing Small Amounts of Misaligned Data
–automatic
Using the –static Flag
–backslash
Driver Options
–bestG
Performance
–C
Example: Erroneous C$DOACROSS
Driver Options
–check_bounds
Driver Options
–chunk
C$MP_SCHEDTYPE, C$CHUNK
Driver Options
–col72
Driver Options
–cord
Performance
–cpp
Driver Options
–d_lines
Driver Options
–E
Driver Options
–expand_include
Driver Options
–extend_source
Driver Options
–F
Driver Options
–feedback
Performance
–framepointer
Driver Options
–g
Multiprocess Debugging Session
Reference Information
Performance
–i2
Driver Options
–jmopt
Performance
–l
Linking Objects
–listing
Driver Options
–lm
Specifying Link Libraries
–lp
Specifying Link Libraries
–m
Driver Options
–mp
Executing Spooled Routines
Driver Options
Compiling and Running
Example: Erroneous C$DOACROSS
–mp_schedtype
C$MP_SCHEDTYPE, C$CHUNK
Driver Options
–N
Driver Options
–nocpp
Compilation
Driver Options
–noexpopt
Driver Options
–noextend_source
Driver Options
–nof77
Driver Options
–noi4
Driver Options
–noisam
Driver Options
–O
Optimizing
–old_rl
Driver Options
–onetrip
Driver Options
Driver Options
–p
Profiling
Driver Options
–pfa
Driver Options
–R
Driver Options
–r8
Driver Options
–static
Example 5: Function Call
Using the –static Flag
Driver Options
Example: Erroneous C$DOACROSS
Example: Erroneous C$DOACROSS
–trapeuv
Driver Options
–U
Driver Options
Driver Options
Driver Options
–usefpidx
Driver Options
–vms_cc
Driver Options
–vms_endfile
Driver Options
–vms_library
Driver Options
–vms_stdin
Driver Options
–w
Driver Options
–w66
Driver Options
list of
Driver Options

core files
Run-Time Error Handling
producing
Run-Time Error Messages

cpp
Compilation

data dependencies
Example 2: Data Dependence
analyzing for multiprocessing
Analyzing Data Dependencies for Multiprocessing
breaking
Breaking Data Dependencies
complicated
Example 8: Complicated Independence
inconsequential
Example 9: Inconsequential Data Dependence
rewritable
Example 6: Rewritable Data Dependence

data independence
Analyzing Data Dependencies for Multiprocessing

data types
alignment
Alignment, Size, and Value Ranges
Access of Misaligned Data
C
Arguments
Fortran
Arguments
Arguments
Pascal
Arguments

DATE
DATE

dbx
Debugging
Run-Time Error Messages

debugging
Step 5: Debug on a Single Processor
parallel Fortran programs
Debugging Parallel Fortran
with dbx
Debugging

direct files
File Formats

directives
C$
C$
C$&
C$&
C$CHUNK
C$MP_SCHEDTYPE, C$CHUNK
C$DOACROSS
C$DOACROSS
C$MP_SCHEDTYPE
C$MP_SCHEDTYPE, C$CHUNK
list of
Writing Parallel Fortran

DO loops
Analyzing Data Dependencies for Multiprocessing
Parallel Loops
Example 1: Loop Interchange
Example: Erroneous C$DOACROSS

DOACROSS
and multiprocessing
DOACROSS Implementation

DOACROSS
C$MP_SCHEDTYPE, C$CHUNK

driver options
Driver Options

drivers
Drivers

dynamic scheduling
MP_SCHEDTYPE, CHUNK

environment variables
Environment Variables: MP_SET_NUMTHREADS, MP_BLOCKTIME, MP_SETUP
Environment Variables: MP_SCHEDTYPE, CHUNK
Examples of Compiling
f77_dump_flag
Run-Time Error Handling
Run-Time Error Messages

equivalence statements
Example: Erroneous C$DOACROSS
Multiprocess Debugging Session

error handling
Run-Time Error Handling

error messages
run-time
Run-Time Error Messages

ERRSNS
ERRSNS

executable object
Compilation

EXIT
EXIT

external files
File Formats

EXTERNAL statement
and –nof77 option
Driver Options

f77
as driver
Drivers
supported file formats
File Formats
syntax
Drivers

f77_dump_flag
Run-Time Error Handling
Run-Time Error Messages

file, object file tool
Object File Tools

files
direct
File Formats
external
File Formats
position when opened
File Positions
preconnected
Preconnected Files
sequential unformatted
File Formats
supported formats
File Formats
UNKNOWN status
Unknown File Status

formats
files
File Formats

Fortran
conformance to standard with –nocpp
Driver Options
SVS
Driver Options
VMS
Driver Options
Driver Options
Driver Options

functions
declaring in C
Invocations
declaring in Pascal
Invocation
in parallel loops
Example 5: Function Call
intrinsic
Example 5: Function Call
Function Extensions
SECNDS
SECNDS
library
Library Functions
Example 5: Function Call
RAN
RAN
side effects
Example 5: Function Call

global data area
reducing
Performance

guided self-scheduling
MP_SCHEDTYPE, CHUNK

handle_sigfpes
Trap Handling

Hollerith strings
and C-style comments
Compilation

IDATE
IDATE

IF clause
IF

IGCLD signal
intercepting
Compatibility With sproc

interleave scheduling
MP_SCHEDTYPE, CHUNK

intrinsic subroutines
Intrinsic Subroutine Extensions
DATE
DATE
ERRSNS
ERRSNS
EXIT
EXIT
IDATE
IDATE
MVBITS
MVBITS
TIME
TIME

LASTLOCAL
Analyzing Data Dependencies for Multiprocessing

LASTLOCAL
SHARE, LOCAL, LASTLOCAL

libfpe.a
Trap Handling

libraries
link
Linking Objects
specifying
Specifying Link Libraries

library functions
Library Functions

link libraries
Linking Objects

linking
Linking Objects

load balancing
Load Balancing

LOCAL
Analyzing Data Dependencies for Multiprocessing
SHARE, LOCAL, LASTLOCAL

loop interchange
Example 1: Loop Interchange

loops
Parallel Loops
data dependencies
Analyzing Data Dependencies for Multiprocessing
tranformation
Loop Transformation

M4 macro preprocessor
Driver Options

m_fork
and multiprocessing
Compatibility With sproc

macro preprocessor
C
Driver Options
M4
Driver Options

makefiles
Makefile Considerations

master processes
Parallel Loops
Executing Spooled Routines

misaligned data
Access of Misaligned Data

mkf2c
The Wrapper Generator mkf2c

mp_barrier
mp_setlock, mp_unsetlock, mp_barrier

mp_block
mp_block and mp_unblock

mp_blocktime
mp_blocktime

mp_create
mp_setup, mp_create, and mp_destroy

mp_destroy
mp_setup, mp_create, and mp_destroy

mp_my_threadnum
mp_my_threadnum

mp_numthreads
mp_numthreads, mp_set_numthreads

MP_PROFILE
Environment Variable: MP_PROFILE

MP_SCHEDTYPE
MP_SCHEDTYPE, CHUNK
C$MP_SCHEDTYPE, C$CHUNK

MP_SET_NUMTHREADS
Environment Variables: MP_SET_NUMTHREADS, MP_BLOCKTIME, MP_SETUP
mp_numthreads, mp_set_numthreads

mp_setlock
mp_setlock, mp_unsetlock, mp_barrier

mp_setup
mp_setup, mp_create, and mp_destroy

mp_simple_sched
Profiling a Parallel Fortran Program
and loop transformations
Loop Transformation
tasks executed
Executing Spooled Routines

mp_slave_control
Executing Spooled Routines

mp_slave_wait_for_work
Profiling a Parallel Fortran Program

mp_unblock
mp_block and mp_unblock

mp_unsetlock
mp_setlock, mp_unsetlock, mp_barrier

multi-language programs
Compiling Multilanguage Programs

multiprocessing
and DOACROSS
DOACROSS Implementation
and load balancing
Load Balancing
associated overhead
Work Quantum
enabling directives
Executing Spooled Routines
Driver Options

MVBITS
MVBITS

nm, object file tool
Object File Tools

NUM_THREADS
Environment Variables: MP_SET_NUMTHREADS, MP_BLOCKTIME, MP_SETUP

object files
Compilation
tools for interpreting
Object File Tools

object module
Compilation

objects
linking
Linking Objects

odump
Object File Tools

optimizing
Optimizing

parallel blocks of code
executing simultaneously
Parallel Blocks

parallel Fortran
directives
Writing Parallel Fortran

parameters
reduction of
Reduction of Parameters

Pascal
interfacing with Fortran
Fortran/Pascal Interface

passing arguments
Arguments
Arguments
Arguments

performance
improving
Performance

PFA
Step 3: Analyze
Analyzing Data Dependencies for Multiprocessing
associated directives
C$MP_SCHEDTYPE, C$CHUNK
running from f77
Driver Options

pixie
Profiling
and multiprocessing
Environment Variable: MP_PROFILE

power Fortran accelerator
Step 3: Analyze
Analyzing Data Dependencies for Multiprocessing

preconnected files
Preconnected Files

preprocessor
cpp
Compilation

processes
master
Executing Spooled Routines
Parallel Loops
slave
Parallel Loops
Executing Spooled Routines

prof
Profiling

profiling
Profiling
Step 2: Profile
and multiprocessing
Environment Variable: MP_PROFILE
parallel Fortran program
Profiling a Parallel Fortran Program

programs
multi-language
Compiling Multilanguage Programs

RAN
RAN

rand
and multiprocessing
Example 5: Function Call

RATFOR
and –R option
Driver Options

records
File Formats

recurrence
and data dependency
Example 3: Recurrence

reduction
and data dependency
Example 4: Sum Reduction
listing associated variables
REDUCTION
sum
Example 4: Sum Reduction

REDUCTION clause
and C$DOACROSS
REDUCTION

run-time error handling
Run-Time Error Handling

run-time scheduling
MP_SCHEDTYPE, CHUNK

scheduling methods
Loop Transformation
MP_SCHEDTYPE, CHUNK
Example:
dynamic
MP_SCHEDTYPE, CHUNK
guided self-scheduling
MP_SCHEDTYPE, CHUNK
interleave
MP_SCHEDTYPE, CHUNK
run-time
MP_SCHEDTYPE, CHUNK
simple
MP_SCHEDTYPE, CHUNK

SECNDS
SECNDS

self-scheduling
MP_SCHEDTYPE, CHUNK

sequential unformatted files
File Formats

SHARE
Analyzing Data Dependencies for Multiprocessing
SHARE, LOCAL, LASTLOCAL

SIGCLD
mp_setup, mp_create, and mp_destroy

simple scheduling
MP_SCHEDTYPE, CHUNK

size, object file tool
Object File Tools

slave processes
Parallel Loops
Executing Spooled Routines

slave threads
blocking
mp_blocktime
mp_block and mp_unblock

source files
Compilation

spooled routines
Loop Transformation

sproc
and multiprocessing
Compatibility With sproc
associated processes
Executing Spooled Routines

stdump, object file tool
Object File Tools

subprograms
Names

subroutines
intrinsic
Intrinsic Subroutine Extensions
Example 5: Function Call
system
Intrinsic Subroutine Extensions
DATE
DATE
ERRSNS
ERRSNS
EXIT
EXIT
IDATE
IDATE
MVBITS
MVBITS

subscripts
checking range
Driver Options

sum reduction, example
Example 4: Sum Reduction

SVS Fortran
Driver Options

sychronizer
Profiling a Parallel Fortran Program

symbol table information
producing
Object File Tools

syntax conventions
Typographical Conventions

system interface
Library Functions

system subroutines
Intrinsic Subroutine Extensions

TIME
TIME

trap handling
Trap Handling

ussetlock
mp_setlock, mp_unsetlock, mp_barrier

usunsetlock
mp_setlock, mp_unsetlock, mp_barrier

variables
in parallel loops
Analyzing Data Dependencies for Multiprocessing
local
Example 4: Local Variable

VMS Fortran
Driver Options
Driver Options
carriage control
Driver Options

where command
Check the Slave

work quantum
Work Quantum

wrapper generator
mkf2c
The Wrapper Generator mkf2c