Index

%LOC
Using %LOC

%REF
Using %REF

%VAL
Using %VAL

__mp_parallel_do
Profiling a Parallel Fortran Program

__mp_slave_wait_for_work
Profiling a Parallel Fortran Program

ABI
N32
The Auto-Parallelizing Option (APO)
N64
The Auto-Parallelizing Option (APO)

-align16 compiler option
Accessing Small Amounts of Misaligned Data
Accessing Small Amounts of Misaligned Data

-align8 compiler option
Accessing Small Amounts of Misaligned Data
Accessing Small Amounts of Misaligned Data

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

.anl file
About the .m and .anl Files

ANSI FORTRAN
data alignment
Access of Misaligned Data

ANSI-X3H5 standard
Parallel Loops
PCF Directives

APO
The Auto-Parallelizing Option (APO)
GO TO Statements in Loops
array subscripts
Problematic Array Subscripts
command line example
Using the MIPSpro APO
command line options
Using the MIPSpro APO
command line use
Using the MIPSpro APO
compiler directives
Compiler Directives for Automatic Parallelization
data locality problems
Poor Data Locality
function calls in loops
Function Calls in Loops
IPA
Interprocedural Analysis
LNO
Loop Nest Optimizer Options
local variables
Local Variables
OpenMP
Output files
output files
.1 file
The .list File
.anl file
About the .m and .anl Files
.m file
About the .m and .anl Files
.w2f.f file
The .w2f.f File
usage notes
Using the MIPSpro APO

-apo compiler option
Specifying Features to the Compiler

-apo list
The .list File

--apo option
Using the MIPSpro APO

archiver, ar
Archiver

arrays
2 gigabyte
Maximum Memory Allocations
declaring
Alignment, Size, and Value Ranges

assembly language routines
Quad-Precision Operations

atomic bool operation
Atomic BOOL Operation

ATOMIC directive
Synchronization Constructs

atomic fetch-and-op operations
Atomic fetch-and-op Operations

atomic lock and unlock operations
Atomic lock and unlock Operations

atomic op-and-fetch operations
Atomic op-and-fetch Operations

atomic synchronize operation
Atomic synchronize Operation

-automatic compiler option
Using the -static Option

automatic parallelization
The Auto-Parallelizing Option (APO)

barrier construct
PCF Constructs
Barrier Constructs

BARRIER directive
Synchronization Constructs

barrier function
mp_setlock, mp_unsetlock, mp_barrier

-bestG compiler option
Specifying Features to the Compiler

blocking slave threads
mp_block and mp_unblock

BOOL operation
Atomic BOOL Operation

buffer size
setting
Specifying the Buffer Size for Direct Unformatted I/O

C$
C$

C code
calling from Fortran
Calling C from Fortran
%LOC
Using %LOC
%REF
Using %REF
%VAL
Using %VAL
Fortran arrays
Using Fortran Arrays in C Code
Fortran COMMON
Using Fortran COMMON in C Code
mkf2c
Making C Wrappers with mkf2c
normal calls
Normal Calls to C Functions
with intrinsics
Calls to C Using LOC%, REF% and VAL%

-C compiler option
General Debugging Hints

C$&
C$&

cache
Cache Effects
improve
Reorganizing Common Blocks To Improve Cache Behavior

callable Fortran subprograms
Calling Fortran from C
functions
Calling Fortran Functions from C
subroutines
Calling Fortran Subroutines from C
returns
Alternate Subroutine Returns

calling Fortran from C
Calling Fortran from C

C/C++ interface
Compiling in C/C++

C$CHUNK
C$MP_SCHEDTYPE and C$CHUNK

C$COPYIN
Local COMMON Blocks

C$COPYIN directive
C$COPYIN

C$DOACROSS
C$DOACROSS
continuing with c$&
C$&
IF clause
IF
LASTLOCAL clause
LOCAL, SHARE, LASTLOCAL
loop naming convention
Loop Transformation
nesting
Nesting C$DOACROSS

CHUNK
CHUNK, MP_SCHEDTYPE
Load Balancing
Specifying Run-Time Scheduling

Clauses
COPYIN
Data Environment Constructs
COPYPRIVATE
Data Environment Constructs
DEFAULT
Data Environment Constructs
FIRSTPRIVATE
Data Environment Constructs
LASTPRIVATE
Data Environment Constructs
PRIVATE
Data Environment Constructs
REDUCTION
Data Environment Constructs
SHARED
Data Environment Constructs

C$MP_SCHEDTYPE
C$MP_SCHEDTYPE and C$CHUNK

common block reorganization
Reorganizing Common Blocks To Improve Cache Behavior

COMMON blocks
General Debugging Hints
LOCAL, SHARE, LASTLOCAL
making local to a process
Local COMMON Blocks
shared
Alignment, Size, and Value Ranges

communication
between processors
Communicating Between Threads Through Thread Local Data

compilation
Compilation

compiler defaults file
Using a Defaults Specification File

compiler options
-align16
Accessing Small Amounts of Misaligned Data
Accessing Small Amounts of Misaligned Data
Alignment, Size, and Value Ranges
-align8
Alignment, Size, and Value Ranges
Accessing Small Amounts of Misaligned Data
Accessing Small Amounts of Misaligned Data
-apo option
Specifying Features to the Compiler
-automatic
Using the -static Option
-bestG
Specifying Features to the Compiler
-C
General Debugging Hints
-G
Specifying Features to the Compiler
-jmopt
Specifying Features to the Compiler
-l
Linking Objects
-mp
Compiling and Running Parallel Fortran
General Debugging Hints
Executing Spooled Routines
PCF Directives
-MP option
Specifying Features to the Compiler
-mpkeep option
Specifying Features to the Compiler
-pfa
PCF Directives
-static
Using the -static Option
General Debugging Hints
General Debugging Hints
Analyzing Data Dependencies for Multiprocessing

compiler options overview
Compiler Options: an Overview

COMPILER_DEFAULTS_PATH environment variable
Using a Defaults Specification File

compiling
--mp examples
Examples of Compiling
parallel fortran program
Compiling and Debugging Parallel Fortran

compiling simple programs
Compiling Simple Programs

COMPLEX
Alignment, Size, and Value Ranges

COMPLEX*16
Alignment, Size, and Value Ranges

COMPLEX*32
Alignment, Size, and Value Ranges

constructs
work-sharing
PCF Constructs

COPYIN clause
Data Environment Constructs

COPYPRIVATE clause
Data Environment Constructs

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

C$PAR & directive
C$PAR &

C$PAR barrier
Barrier Constructs

C$PAR critical section
Critical Section

C$PAR parallel
Parallel Region

C$PAR parallel do
Parallel DO

C$PAR pdo
PDO

C$PAR psections
Parallel Sections

C$PAR single process
Single Process

critical section
PCF Constructs
and shared
Critical Section
PCF construct
Critical Section

critical section construct
PCF Directives
differences between single process
Single Process

CRITICAL/END CRITICAL directive
Synchronization Constructs

data
sharing
Library Functions
specifying page size
Specifying Page Sizes for Stack, Data, and Text

data dependencies
Analyzing Data Dependencies for Multiprocessing
analyzing for multiprocessing
Analyzing Data Dependencies for Multiprocessing
and equivalence statements
EQUIVALENCE Statements and Storage of Local Variables
breaking
Breaking Data Dependencies
complicated
Analyzing Data Dependencies for Multiprocessing
inconsequential
Analyzing Data Dependencies for Multiprocessing
rewritable
Analyzing Data Dependencies for Multiprocessing

data distribution
enable
Specifying Features to the Compiler
rii_files
Specifying Features to the Compiler

data independence
Analyzing Data Dependencies for Multiprocessing

data types
Data Types and Mapping
alignment
Alignment, Size, and Value Ranges
array elements
Corresponding Array Elements
character
Corresponding Character Types
Fortran and C
Correspondence of Fortran and C Data Types
scalar
Corresponding Scalar Types

datapool
Library Functions

DATE
DATE

dbx
Run-Time Error Messages

debugging
multiprocessed do loops
Specifying Features to the Compiler
parallel fortran programs
Debugging Parallel Fortran

DEFAULT clause
Data Environment Constructs

defaults
specification file
Using a Defaults Specification File

direct files
File Formats

direct unformatted i/O
Specifying the Buffer Size for Direct Unformatted I/O

Directives
ATOMIC
Synchronization Constructs
BARRIER
Synchronization Constructs
C$
C$
C$&
C$&
C$CHUNK
C$MP_SCHEDTYPE and C$CHUNK
C$DOACROSS
C$DOACROSS
C$MP_SCHEDTYPE
C$MP_SCHEDTYPE and C$CHUNK
CRITICAL/END CRITICAL
Synchronization Constructs
DO/END DO
Work-sharing Constructs
END PARALLEL
Parallel Region Constructs
FLUSH
Synchronization Constructs
list of
Writing Parallel Fortran
MASTER/END MASTER
Synchronization Constructs
OpenMP Fortran API
OpenMP Fortran API Multiprocessing Directives
ORDERED/END ORDERED
Synchronization Constructs
PARALLEL
Parallel Region Constructs
PARALLEL DO/END PARALLEL DO
Combined Parallel Work-sharing Constructs
PARALLEL SECTIONS/END PARALLEL SECTIONS
Combined Parallel Work-sharing Constructs
PARALLEL WORKSHARE
Combined Parallel Work-sharing Constructs
SECTIONS/END SECTIONS
Work-sharing Constructs
see also PCF directives
PCF Directives
SINGLE/END SINGLE
Work-sharing Constructs
THREADPRIVATE
Data Environment Constructs
WORKSHARE
Work-sharing Constructs

dis object file tool
Object File Tools

DO loops
General Debugging Hints
Parallel Loops
Analyzing Data Dependencies for Multiprocessing
Work Quantum

DOACROSS
C$MP_SCHEDTYPE and C$CHUNK
and multiprocessing
DOACROSS Implementation

DO/END DO directive
Work-sharing Constructs

dump object file tool
Object File Tools

dynamic scheduling
CHUNK, MP_SCHEDTYPE

END PARALLEL directive
Parallel Region Constructs

environment variables
Examples of Compiling
CHUNK
Specifying Run-Time Scheduling
COMPILER_DEFAULTS_PATH
Using a Defaults Specification File
DSM_WAIT
Setting the _DSM_WAIT Environment Variable
f77_dump_flag
Run-Time Error Handling
Run-Time Error Messages
FORTRAN_BUFFER_SIZE
Specifying the Buffer Size for Direct Unformatted I/O
MP_BLOCKTIME
Using the MP_SET_NUMTHREADS, MP_BLOCKTIME , MP_SETUP environment variables
MP_SCHEDTYPE
Specifying Run-Time Scheduling
MP_SET_NUMTHREADS
Using the MP_SET_NUMTHREADS, MP_BLOCKTIME , MP_SETUP environment variables
MP_SETUP
Using the MP_SET_NUMTHREADS, MP_BLOCKTIME , MP_SETUP environment variables
MP_SLAVE_STACKSIZE
Controlling the Stacksize of Slave Processes
MPC_GANG
Specifying Gang Scheduling
PAGESIZE_DATA
Specifying Page Sizes for Stack, Data, and Text
PAGESIZE_STACK
Specifying Page Sizes for Stack, Data, and Text
PAGESIZE_TEXT
Specifying Page Sizes for Stack, Data, and Text
specify gang scheduling
Specifying Gang Scheduling
specify run-time scheduling
Specifying Run-Time Scheduling

equivalence statements
General Debugging Hints
EQUIVALENCE Statements and Storage of Local Variables

error handling
Run-Time Error Handling

error messages
run-time
Run-Time Error Messages

ERRSNS
ERRSNS

examples
--mp programs
Examples of Compiling

executable object
Compilation

EXIT
EXIT

external files
File Formats

f77
command syntax
Compiling and Linking
supported file formats
File Formats

f77_dump_flag
Run-Time Error Handling
Run-Time Error Messages

fetch-and-op operations
Atomic fetch-and-op Operations

file, object file tool
Object File Tools

files
compilation specification
Using a Defaults Specification File
direct
File Formats
external
File Formats
position when opened
File Positions
preconnected
Preconnected Files
rii_files
Specifying Features to the Compiler
sequential unformatted
File Formats
supported formats
File Formats
UNKNOWN status
Unknown File Status

FIRSTPRIVATE clause
Data Environment Constructs

FLUSH directive
Synchronization Constructs

formats
files
File Formats

Fortran
ANSI
Access of Misaligned Data
libraries
Linking Objects

Fortran arrays
in C code
Using Fortran Arrays in C Code

Fortran functions
and C
Calling Fortran Functions from C

Fortran subprograms
and C
Calling Fortran Subroutines from C

FORTRAN_BUFFER_SIZE variable
Specifying the Buffer Size for Direct Unformatted I/O

functions
in parallel loops
Analyzing Data Dependencies for Multiprocessing
intrinsic
Extended Intrinsic Functions
Analyzing Data Dependencies for Multiprocessing
SECNDS
SECNDS
library
Library Functions
Analyzing Data Dependencies for Multiprocessing
RAN
RAN
side effects
Analyzing Data Dependencies for Multiprocessing

-G compiler option
Specifying Features to the Compiler

gang scheduling
Specifying Gang Scheduling

global data area
reducing
Specifying Features to the Compiler

guided self-scheduling
CHUNK, MP_SCHEDTYPE

handle_sigfpes
Floating Point Exceptions

IDATE
IDATE

IF clause
and c$DOACROSS
IF

IGCLD signal
intercepting
Compatibility With sproc

interleave scheduling
CHUNK, MP_SCHEDTYPE

interleaving
Load Balancing

interprocedural analysis
-IPA
Interprocedural Analysis

interprocess data sharing
Library Functions

intrinsic subroutines
DATE
DATE
ERRSNS
ERRSNS
EXIT
EXIT
IDATE
IDATE
MVBITS
MVBITS
TIME
TIME

intrinsics
Synchronization Intrinsics
example
Example of Implementing a Pure Spin-Wait Lock

I/O
direct unformatted
Specifying the Buffer Size for Direct Unformatted I/O

-jmpopt compiler option
Specifying Features to the Compiler

-l compiler option
Linking Objects

-LANG
recursive option
Specifying Features to the Compiler

LASTLOCAL
LOCAL, SHARE, LASTLOCAL
Analyzing Data Dependencies for Multiprocessing

LASTLOCAL clause
LOCAL, SHARE, LASTLOCAL

LASTPRIVATE clause
Data Environment Constructs

libfpe.a
Floating Point Exceptions

libraries
link
Linking Objects
linking
Specifying Link Libraries

library functions
Library Functions

link libraries
Linking Objects

linking
Linking Objects
dynamic shared objects
Linking Objects
libraries
Linking Objects

load balancing
Load Balancing

LOCAL
LOCAL, SHARE, LASTLOCAL
LOCAL, SHARE, LASTLOCAL

local variables
storage
EQUIVALENCE Statements and Storage of Local Variables

lock and unlock operations
Atomic lock and unlock Operations

lock example
Example of Implementing a Pure Spin-Wait Lock

LOGICAL
Alignment, Size, and Value Ranges

loop interchange
Work Quantum

loop nest optimizer
-LNO
Loop Nest Optimizer Options

loops
Parallel Loops
data dependencies
Analyzing Data Dependencies for Multiprocessing
inner
Inner Loops
transformation
Loop Transformation

.m file
About the .m and .anl Files

m_fork
and multiprocessing
Compatibility With sproc

makefiles
Makefile Considerations

manual parallelization
The Auto-Parallelizing Option (APO)

master processes
Parallel Loops
Executing Spooled Routines

MASTER/END MASTER directive
Synchronization Constructs

memory
2 gigabyte arrays
Maximum Memory Allocations
array sizes
Maximum Memory Allocations

message passing
Communicating Between Threads Through Thread Local Data

misaligned data
Access of Misaligned Data
and source code
Accessing Misaligned Data Without Modifying Source Code

mkf2c
Making C Wrappers with mkf2c
and extcentry
Using mkf2c and extcentry
and makefiles
Makefile Considerations
character string treatment
Character String Treatment by mkf2c
parameter assumptions
Parameter Assumptions by mkf2c
restrictions
Restrictions of mkf2c

-mp compiler option
Compiling and Running Parallel Fortran
General Debugging Hints
Executing Spooled Routines
PCF Directives

-MP option
Specifying Features to the Compiler

mp_barrier
mp_setlock, mp_unsetlock, mp_barrier

mp_block
mp_block and mp_unblock

mp_blocktime
mp_blocktime

MP_BLOCKTIME environment variable
Using the MP_SET_NUMTHREADS, MP_BLOCKTIME , MP_SETUP environment variables

mp_create
mp_setup, mp_create, and mp_destroy
mp_setup, mp_create, and mp_destroy

mp_destroy
mp_setup, mp_create, and mp_destroy
mp_setup, mp_create, and mp_destroy

mp_my_threadnum
mp_my_threadnum

mp_numthreads
mp_numthreads, mp_set_numthreads

MP_SCHEDTYPE
CHUNK, MP_SCHEDTYPE
C$MP_SCHEDTYPE and C$CHUNK
Specifying Run-Time Scheduling

mp_set_numthreads
mp_numthreads, mp_set_numthreads
Using the MP_SET_NUMTHREADS, MP_BLOCKTIME , MP_SETUP environment variables
Running Your Program
and mp_SET_NUMTHREADS
Using the MP_SET_NUMTHREADS, MP_BLOCKTIME , MP_SETUP environment variables

mp_setlock
mp_setlock, mp_unsetlock, mp_barrier

mp_setup
mp_setup, mp_create, and mp_destroy
mp_setup, mp_create, and mp_destroy
Using the MP_SET_NUMTHREADS, MP_BLOCKTIME , MP_SETUP environment variables

mp_shmem
Communicating Between Threads Through Thread Local Data

mp_simple_sched
and loop transformations
Loop Transformation

MP_SLAVE_STACKSIZE
Controlling the Stacksize of Slave Processes

mp_suggested_numthreads
mp_suggested_numthreads

mp_unblock
mp_block and mp_unblock

mp_unsetlock
mp_setlock, mp_unsetlock, mp_barrier

MPC_GANG environment variable
Specifying Gang Scheduling

-mpkeep option
Specifying Features to the Compiler

multi-language programs
Compiling in C/C++

multiprocessing
and doacross
DOACROSS Implementation
and load balancing
Load Balancing
associated overhead
Work Quantum
automatic
Specifying Features to the Compiler
consistency checks
Specifying Features to the Compiler
data distribution
Specifying Features to the Compiler
enabling
Compiling and Running Parallel Fortran
enabling directives
Executing Spooled Routines
rii_files directory
Specifying Features to the Compiler

MVBITS
MVBITS

N64 abi
The Auto-Parallelizing Option (APO)

nm, object file tool
Object File Tools

NOWAIT clause
PDO
Parallel Sections
Single Process

NUM_THREADS
Using the MP_SET_NUMTHREADS, MP_BLOCKTIME , MP_SETUP environment variables
Running Your Program

-O3 optimization
Optimization Options

object files
Compilation
tools for interpreting
Object File Tools

object module
Compilation

objects
linking
Linking Objects
shared, linking
Linking Objects

OMP_DYNAMIC
Running Your Program

OMP_NUM_THREADS
Running Your Program

op-and-fetch operations
Atomic op-and-fetch Operations

OpenMP
APO
Output files

OpenMP clauses
COPYIN
Data Environment Constructs
COPYPRIVATE
Data Environment Constructs
DEFAULT
Data Environment Constructs
FIRSTPRIVATE
Data Environment Constructs
LASTPRIVATE
Data Environment Constructs
PRIVATE
Data Environment Constructs
REDUCTION
Data Environment Constructs
SHARED
Data Environment Constructs

OpenMP directives
ATOMIC
Synchronization Constructs
BARRIER
Synchronization Constructs
CRITICAL/END CRITICAL
Synchronization Constructs
DO/END DO
Work-sharing Constructs
END PARALLEL
Parallel Region Constructs
FLUSH
Synchronization Constructs
MASTER/END MASTER
Synchronization Constructs
ORDERED/END ORDERED
Synchronization Constructs
PARALLEL
Parallel Region Constructs
PARALLEL DO/END PARALLEL DO
Combined Parallel Work-sharing Constructs
PARALLEL SECTIONS/END PARALLEL SECTIONS
Combined Parallel Work-sharing Constructs
PARALLEL WORKSHARE
Combined Parallel Work-sharing Constructs
SECTIONS/END SECTIONS
Work-sharing Constructs
SINGLE/END SINGLE
Work-sharing Constructs
THREADPRIVATE
Data Environment Constructs
WORKSHARE
Work-sharing Constructs

OpenMP Fortran API directives
OpenMP Fortran API Multiprocessing Directives

--OPT option
reorg_common option
Reorganizing Common Blocks To Improve Cache Behavior

optimizing programs
-OPT option
reorg_common
Reorganizing Common Blocks To Improve Cache Behavior
statically allocated local variables
Specifying Features to the Compiler

ORDERED/END ORDERED directive
Synchronization Constructs

PAGESIZE_DATA environment variable
Specifying Page Sizes for Stack, Data, and Text

PAGESIZE_STACK environment variable
Specifying Page Sizes for Stack, Data, and Text

PAGESIZE_TEXT environment variable
Specifying Page Sizes for Stack, Data, and Text

PARALLEL directive
Parallel Region Constructs

parallel do construct
Parallel DO

PARALLEL DO/END PARALLEL DO directive
Combined Parallel Work-sharing Constructs

parallel fortran
Specifying Features to the Compiler
communication between threads
Communicating Between Threads Through Thread Local Data
directives
Writing Parallel Fortran

parallel program
compiling
Compiling and Debugging Parallel Fortran
debugging
Compiling and Debugging Parallel Fortran
profiling
Profiling a Parallel Fortran Program

parallel region
Load Balancing
PCF Directives
Parallel Region
and shared
Parallel Region
efficiency of
Effects on timing
restrictions
Restrictions

parallel sections construct
Parallel Sections
assignment of processes
Parallel Sections

PARALLEL SECTIONS/END PARALLEL SECTIONS directive
Combined Parallel Work-sharing Constructs

PARALLEL WORKSHARE directive
Combined Parallel Work-sharing Constructs

parallelization
automatic
The Auto-Parallelizing Option (APO)
manual
The Auto-Parallelizing Option (APO)

parallelization problems
inner loops
Inner Loops

parallelizing
automatic
Specifying Features to the Compiler

PCF constructs
and efficiency
Effects on timing
barrier
PCF Constructs
Barrier Constructs
critical section
PCF Constructs
Critical Section
differences between single process and critical section
Single Process
LASTLOCAL
PDO
LOCAL
Parallel Region
NOWAIT
PDO
Parallel Sections
Single Process
parallel do
Parallel DO
parallel regions
Parallel Region
Restrictions
parallel sections
Parallel Sections
PDO
PDO
restrictions
Restrictions
SHARED
Parallel Region
single process
Single Process
Single Process
types of
PCF Constructs

PCF directives
C$PAR &
C$PAR &
C$PAR barrier
Barrier Constructs
C$PAR critical section
Critical Section
C$PAR parallel
Parallel Region
C$PAR parallel do
Parallel DO
C$PAR pdo
PDO
C$PAR psections
Parallel Sections
C$PAR single process
Single Process
enabling
PCF Directives
overview
PCF Directives

PCF standard
Parallel Loops

PDO construct
PDO

performance
improving
Specifying Features to the Compiler

-pfa compiler option
PCF Directives

Power fortran
Analyzing Data Dependencies for Multiprocessing

preconnected files
Preconnected Files

PRIVATE clause
Data Environment Constructs
Data Environment Constructs

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

prof
and parallel fortran
Profiling a Parallel Fortran Program

profiling
parallel fortran program
Profiling a Parallel Fortran Program
Profiling a Parallel Fortran Program

program interfaces
Fortran Program Interfaces

quad-precision operations
Quad-Precision Operations

RAN
RAN

rand
and multiprocessing
Analyzing Data Dependencies for Multiprocessing

REAL*16
range
Alignment, Size, and Value Ranges

REAL*16 ranges
Alignment, Size, and Value Ranges

REAL*4
range
Alignment, Size, and Value Ranges

REAL*4 ranges
Alignment, Size, and Value Ranges

REAL*8
alignment
Alignment, Size, and Value Ranges
range
Alignment, Size, and Value Ranges

REAL*8 ranges
Alignment, Size, and Value Ranges

records
File Formats

recurrence
and data dependency
Breaking Data Dependencies

recursion, specifying
Specifying Features to the Compiler

reduction
and data dependency
Breaking Data Dependencies
listing associated variables
REDUCTION
sum
Breaking Data Dependencies

REDUCTION clause
Data Environment Constructs

reorganize common blocks
Reorganizing Common Blocks To Improve Cache Behavior

rii_files directory
Specifying Features to the Compiler

round-to-nearest mode
Quad-Precision Operations

running
parallel fortran
Compiling and Debugging Parallel Fortran

run-time error handling
Run-Time Error Handling

run-time scheduling
CHUNK, MP_SCHEDTYPE

scalar data types
Alignment, Size, and Value Ranges

scheduling method
run-time
Specifying Run-Time Scheduling

scheduling methods
CHUNK, MP_SCHEDTYPE
Load Balancing
Loop Transformation
between processors
Communicating Between Threads Through Thread Local Data
dynamic
CHUNK, MP_SCHEDTYPE
gang
Specifying Gang Scheduling
guided self-scheduling
CHUNK, MP_SCHEDTYPE
interleave
CHUNK, MP_SCHEDTYPE
run-time
CHUNK, MP_SCHEDTYPE
simple
CHUNK, MP_SCHEDTYPE

SECNDS
SECNDS

SECTIONS/END SECTIONS directive
Work-sharing Constructs

self-scheduling
CHUNK, MP_SCHEDTYPE

sequential unformatted files
File Formats

SHARE
LOCAL, SHARE, LASTLOCAL
LOCAL, SHARE, LASTLOCAL

SHARED
and critical section
Critical Section
and parallel region
Parallel Region

shared objects
linking
Linking Objects

sharing data
Library Functions

shmem. See mp_shmem
Communicating Between Threads Through Thread Local Data

SIGCLD
mp_setup, mp_create, and mp_destroy

simple scheduling
CHUNK, MP_SCHEDTYPE

single process
PCF construct
Single Process

single process construct
Single Process
differences between critical section
Single Process

SINGLE/END SINGLE directive
Work-sharing Constructs

size, object file tool
Object File Tools

slave threads
Parallel Loops
Executing Spooled Routines
blocking
mp_block and mp_unblock
mp_blocktime

source files
Compilation

specifying compilation mode
Using a Defaults Specification File

spin-wait lock example
Example of Implementing a Pure Spin-Wait Lock

spooled routines
Loop Transformation

sproc
and multiprocessing
Compatibility With sproc
associated processes
Executing Spooled Routines
Executing Spooled Routines

stack
specifying page size
Specifying Page Sizes for Stack, Data, and Text

stacksize
control
Controlling the Stacksize of Slave Processes

-static compiler option
Using the -static Option
General Debugging Hints
General Debugging Hints
Analyzing Data Dependencies for Multiprocessing

storage of local variables
EQUIVALENCE Statements and Storage of Local Variables

strip, object file tool
Object File Tools

subprogram names
Subprogram Names
mixed-case
Mixed-Case Names
naming from C
Naming Fortran Subprograms from C
naming from Fortran
Naming C Functions from Fortran
spelling verification
Verifying Spelling Using nm
suffix
Preventing a Suffix Underscore with $

subprogram parameters
Passing Subprogram Parameters
normal treatment
Normal Treatment of Parameters

subroutines
intrinsic
Analyzing Data Dependencies for Multiprocessing
system
DATE
DATE
ERRSNS
ERRSNS
EXIT
EXIT
IDATE
IDATE
MVBITS
MVBITS

sum reduction, example
Breaking Data Dependencies

symbol table information
producing
Object File Tools

synchronization
barrier
Setting the _DSM_WAIT Environment Variable
event
Setting the _DSM_WAIT Environment Variable
lock
Setting the _DSM_WAIT Environment Variable

synchronization intrinsics
Synchronization Intrinsics

synchronize operation
Atomic synchronize Operation

synchronizer
Profiling a Parallel Fortran Program

system interface
Library Functions

test&test&set
Single Process

text
specifying page size
Specifying Page Sizes for Stack, Data, and Text

thread
master
Parallel Loops
slave
Parallel Loops

THREADPRIVATE directive
Data Environment Constructs

threads
and processors
Parallel Loops
Communicating Between Threads Through Thread Local Data
number of
Parallel Loops
override the default
Parallel Loops
synchronization
Setting the _DSM_WAIT Environment Variable

TIME
TIME

trap handling
Floating Point Exceptions

using APO
Using the MIPSpro APO

ussetlock
mp_setlock, mp_unsetlock, mp_barrier

usunsetlock
mp_setlock, mp_unsetlock, mp_barrier

variables
in parallel loops
Analyzing Data Dependencies for Multiprocessing
local
Analyzing Data Dependencies for Multiprocessing

VOLATILE
and critical section
Critical Section
and multiple threads
Single Process

WHIRL
The .w2f.f File

-Wl,Xlocal,data loader directive
Local COMMON Blocks

work quantum
Work Quantum

WORKSHARE directive
Work-sharing Constructs

work-sharing constructs
PCF Directives
restrictions
Restrictions
types of
PCF Constructs