- %LOC
- Using %LOC
- %VAL
- Using %VAL
- &space
- Using Local COMMON Blocks
- aliasing
- Controlling Global Assumptions
- Assertions About Aliasing
- argument alias
- Using Argument Aliasing
- ALLOCATE
- size limit
- Allocatable Sizes
- status after
- Status From ALLOCATE and DEALLOCATE
- array constructor
- Partial Evaluation of Array Constructors
- array subscript bounds
- Controlling Global Assumptions
- assembly language
- Calling Assembly Language From Fortran
- assertions
- Overview of Assertions
- about dependences
- Assertions About Data Dependence
- C*$* ASSERT [NO] ARGUMENT ALIASING
- Using Argument Aliasing
- C*$* ASSERT [NO] BOUNDS VIOLATIONS
- Asserting Array Bounds Violations
- C*$* ASSERT [NO] EQUIVALENCE HAZARD
- Using Equivalenced Variables
- C*$* ASSERT NO RECURRENCE
- Ignoring Data Dependence Conflicts
- C*$* ASSERT RELATION
- Asserting a Relationship
- recognizing
- Recognizing Directives and Assertions
- supported
- Overview of Assertions
- assumed dependences
- Known and Assumed Dependence
- assumed-shape array
- Unsupported Array Parameters
- Assumed-Shape and Deferred-Shape Arrays
- assumptions about program
- Controlling Global Assumptions
- C data types
- Corresponding Scalar Types
- C$
- Using C$
- C$CHUNK
- Using C$MP_SCHEDTYPE and C$CHUNK
- C$DOACROSS
- Syntax of C$DOACROSS
- CHUNK clause
- Using the CHUNK and MP_SCHEDTYPE Clauses
- examples
- C$DOACROSS Examples
- IF clause
- Using the IF Clause
- LASTLOCAL clause
- Using the LOCAL, LASTLOCAL, and SHARE Clauses
- LOCAL clause
- Using the LOCAL, LASTLOCAL, and SHARE Clauses
- MP_SCHEDTYPE clause
- Using the CHUNK and MP_SCHEDTYPE Clauses
- REDUCTION clause
- Using the REDUCTION Clause
- SHARE clause
- Using the LOCAL, LASTLOCAL, and SHARE Clauses
- syntax
- Syntax of C$DOACROSS
- C$MP_SCHEDTYPE
- Using C$MP_SCHEDTYPE and C$CHUNK
- C$PAR
- C$PAR &
- C$PAR BARRIER
- Barrier Constructs
- C$PAR CRITICAL SECTION
- Critical Sections
- C$PAR PARALLEL DO
- Parallel DO
- C$PAR PDO
- PDO
- C$PAR PSECTION
- Parallel Sections
- C$PAR SINGLE PROCESS
- Single Process
- C*$* [NO] INLINE
- Fine-Tuning Inlining and IPA
- C*$* [NO] IPA
- Fine-Tuning Inlining and IPA
- C*$* ARCLIMIT
- Controlling Internal Table Size
- C*$* ASSERT [NO] ARGUMENT ALIASING
- Using Argument Aliasing
- C*$* ASSERT [NO] BOUNDS VIOLATIONS
- Asserting Array Bounds Violations
- C*$* ASSERT [NO] EQUIVALENCE HAZARD
- Using Equivalenced Variables
- C*$* ASSERT NO RECURRENCE
- Ignoring Data Dependence Conflicts
- C*$* ASSERT RELATION
- Asserting a Relationship
- C*$* EACH_INVARIANT_IF_GROWTH
- Setting Invariant IF Floating Limits
- C*$* MAX_INVARIANT_IF_GROWTH
- Setting Invariant IF Floating Limits
- C*$* NO ASSERTIONS
- Overview of Assertions
- C*$* OPTIMIZE
- Setting Optimization Level
- C*$* ROUNDOFF
- Setting Variations in Round Off
- C*$* SCALAROPTIMIZE
- Controlling Scalar Optimizations
- cache
- Cache Effects
- CDIR$ NORECURRENCE
- Ignoring Data Dependence Conflicts
- command arguments at runtime
- Executing a Program
- COMMON
- Using Local COMMON Blocks
- General Debugging Hints
- alignment of
- Using Aggressive Optimization
- sharing with C
- Using Fortran COMMON in C Code
- core file
- Run-Time Error Handling
- cpp use
- Using Macro Processing
- Cray assertions
- CDIR$ NORECURRENCE
- Ignoring Data Dependence Conflicts
- critical section
- Critical Sections
- CVD$ NODEPCHK
- Ignoring Data Dependence Conflicts
- data type
- C versus Fortran
- Corresponding Scalar Types
- data types
- Supported Data Types
- dbx
- Run-Time Error Handling
- DEALLOCATE
- status after
- Status From ALLOCATE and DEALLOCATE
- debugging
- driver options
- Specifying Debugging and Profiling
- deferred-shape array
- Assumed-Shape and Deferred-Shape Arrays
- Unsupported Array Parameters
- dependences
- assertions about
- Assertions About Data Dependence
- assumed and known
- Known and Assumed Dependence
- multiprocessing
- Analyzing Data Dependencies for Multiprocessing
- directives
- Overview of Directives
- and driver options
- Directives and Driver Options
- C$
- Using C$
- C$CHUNK
- Using C$MP_SCHEDTYPE and C$CHUNK
- C$MP_SCHEDTYPE
- Using C$MP_SCHEDTYPE and C$CHUNK
- C*$* [NO] INLINE
- Fine-Tuning Inlining and IPA
- C*$* [NO] IPA
- Fine-Tuning Inlining and IPA
- C*$* ARCLIMIT
- Controlling Internal Table Size
- C*$* EACH_INVARIANT_IF_GROWTH
- Setting Invariant IF Floating Limits
- C*$* MAX_INVARIANT_IF_GROWTH
- Setting Invariant IF Floating Limits
- C*$* NO ASSERTIONS
- Overview of Assertions
- C*$* OPTIMIZE
- Setting Optimization Level
- C*$* ROUNDOFF
- Setting Variations in Round Off
- C*$* SCALAROPTIMIZE
- Controlling Scalar Optimizations
- format
- Supported Directives
- recognizing
- Recognizing Directives and Assertions
- supported
- Supported Directives
- used for parallelization
- Parallel Directives
- ZZZ
- Optimizing for Multiprocessors
- driver
- control of phases
- Controlling Compiler Execution
- debugging options
- Specifying Debugging and Profiling
- input files
- Specifying Compiler Input Files
- linking
- Linking
- macro preprocessor
- Controlling the Macro Preprocessor
- macro processing
- Using Macro Processing
- memory alignment
- Specifying Memory Allocation and Alignment
- memory allocation
- Specifying Memory Allocation and Alignment
- optimization levels
- Specifying Optimization Levels
- output files
- Specifying Compiler Output Files
- overview of
- Using the Driver
- source format
- Specifying Source File Format
- target features
- Specifying Target Machine Features
- driver option
- Driver Options
- -M
- Controlling the Macro Preprocessor
- Controlling the Macro Preprocessor
- Specifying Compiler Input Files
- Specifying Compiler Output Files
- Specifying Compiler Output Files
- Specifying Compiler Output Files
- General Debugging Hints
- Specifying Debugging and Profiling
- Specifying Debugging and Profiling
- Controlling Compiler Execution
- Controlling Compiler Execution
- Specifying Compiler Input Files
- Specifying the Location of Libraries
- Specifying Compiler Input Files
- Specifying Compiler Output Files
- Controlling Compiler Execution
- Controlling Compiler Execution
- Controlling Compiler Execution
- Specifying Memory Allocation and Alignment
- Specifying Compiler Output Files
- -alignn
- Specifying Memory Allocation and Alignment
- -bytereclen
- Specifying Source File Format
- Default Output Record Lengths
- -col120
- Specifying Source File Format
- -col72
- Specifying Source File Format
- -d8 and d16
- Specifying Memory Allocation and Alignment
- -dlines (not supported)
- Specifying Source File Format
- -Dname
- Controlling the Macro Preprocessor
- -extend_source
- Specifying Source File Format
- -fe
- Controlling Compiler Execution
- -fixedform
- Specifying Source File Format
- -freeform
- Specifying Source File Format
- Specifying Source File Format
- -GCM
- Specifying Optimization Levels
- -in
- Specifying Memory Allocation and Alignment
- -keep
- Specifying Compiler Output Files
- -LIST
- Specifying Compiler Output Files
- -listing
- Specifying Compiler Output Files
- -mp
- General Debugging Hints
- Specifying Optimization Levels
- Compiling and Running
- -nocpp
- Controlling Compiler Execution
- Controlling the Macro Preprocessor
- -noextend_source
- Specifying Source File Format
- -nostdinc
- Specifying Compiler Input Files
- -nostdlib
- Specifying Compiler Input Files
- -On
- Specifying Optimization Levels
- -objectlist
- Specifying Compiler Input Files
- -OPT
- Specifying Optimization Levels
- -pfa
- Specifying Optimization Levels
- Controlling Compiler Execution
- -pfakeep
- Specifying Optimization Levels
- -pfalist
- Specifying Optimization Levels
- -r8 and -r8
- Specifying Memory Allocation and Alignment
- -sopt
- Specifying Optimization Levels
- Controlling Compiler Execution
- -static
- General Debugging Hints
- Specifying Memory Allocation and Alignment
- Parallel Procedure Calls
- Using the –static Option
- General Debugging Hints
- -SWP
- Specifying Optimization Levels
- -TARG
- Specifying Target Machine Features
- -TENV
- Specifying Target Machine Features
- -U (not supported)
- How Fortran 90 Handles External and Public Names
- -Uname
- Controlling the Macro Preprocessor
- -WK
- Overview of Scalar Optimization
- Overview Inlining and IPA
- Specifying Optimization Levels
- Controlling Compiler Execution
- –arclimit
- Controlling Internal Table Size
- –assume
- Using Equivalenced Variables
- –cacheline
- Performing Memory Management Transformations
- –cachesize
- Performing Memory Management Transformations
- Performing Memory Management Transformations
- –directives
- Recognizing Directives and Assertions
- –dpregisters
- Performing Memory Management Transformations
- –fpregisters
- Performing Memory Management Transformations
- –inline_create
- Creating Libraries of Inline Functions
- –inline_from_files
- Specifying Where to Search for Routines
- –ipa_create
- Creating Libraries of Inline Functions
- –ipa_from_files
- Specifying Where to Search for Routines
- –ipa_from_libraries
- Specifying Where to Search for Routines
- –ipa_looplevel
- Using Loop Level
- –setassociativity
- Performing Memory Management Transformations
- -aggressive
- Using Aggressive Optimization
- -assert
- Asserting Array Bounds Violations
- -assume
- Controlling Global Assumptions
- -directives
- Recognizing Directives and Assertions
- -each_invariant_if_growth
- Setting Invariant IF Floating Limits
- -fuse
- Enabling Loop Fusion
- -inline
- Specifying Functions for Inlining or IPA
- -inline_and_copy
- Using the Inline-and-Copy Option
- -inline_depth
- Depth of Nested Inlining
- -inline_looplevel
- Using Loop Level
- -inline_man
- Enabling Manual Control
- -ipa
- Specifying Functions for Inlining or IPA
- -listoptions
- Setting the Listing Level
- -max_invariant_if_growth
- Setting Invariant IF Floating Limits
- -nodirectives
- Overview of Assertions
- -optimize
- Controlling General Optimizations
- -recursion
- Specifying Recursion
- -roundoff
- Controlling Variations in Round Off
- -scalaropt
- Controlling the Optimization Level
- Enabling Loop Fusion
- -WK
- –inline_from_libraries
- Specifying Where to Search for Routines
- -xgot
- Specifying Memory Allocation and Alignment
- -Yc
- Controlling Compiler Execution
- dynamic shared object (DSO)
- Creating Dynamic Shared Objects
- Static and Dynamic Linking
- versus MODULE
- Creating Dynamic Shared Objects
- edit code "S"
- Implementation of Sign Edit Codes
- environment variable
- CHUNK
- Environment Variables for RUNTIME Scheduling
- f77_dump_flag
- Run-Time Error Handling
- MP_BLOCKTIME
- Environment Variables for Scheduling Control
- MP_SCHEDTYPE
- Environment Variables for RUNTIME Scheduling
- MP_SET_NUMTHREADS
- Environment Variables for Scheduling Control
- MP_SETUP
- Environment Variables for Scheduling Control
- MP_SUGNUMTHD
- Environment Variables for Load-Sensitive Scheduling
- MP_SUGNUMTHD_MAX
- Environment Variables for Load-Sensitive Scheduling
- MP_SUGNUMTHD_MIN
- Environment Variables for Load-Sensitive Scheduling
- TRAP_FPE
- Floating Point Exceptions
- EQUIVALENCE
- General Debugging Hints
- Using Equivalenced Variables
- error handling
- Run-Time Error Handling
- execution environment
- Execution Environment
- command arguments
- Executing a Program
- connecting files
- Preconnected Files
- error handling
- Run-Time Error Handling
- floating point exceptions
- Floating Point Exceptions
- memory size limits
- Program and Memory Size Limits
- multiprocessing
- Run-Time Control of Multiprocessing
- predefined filenames
- Filename Syntax
- running parallel programs
- Compiling and Running
- status after I/O
- Status From I/O Statements
- extcentry
- Using mkf2c and extcentry
- external name
- External and Public Names
- '$' not supported
- How Fortran 90 Handles External and Public Names
- treatment of
- How Fortran 90 Handles External and Public Names
- f77_dump_flag
- Run-Time Error Handling
- file
- default action
- Default File Status and Action
- filename syntax
- Filename Syntax
- position when opened
- File Positions
- preconnected
- Preconnected Files
- filename
- Filename Syntax
- fine-inlining
- fine-tuning
- Fine-Tuning Inlining and IPA
- floating point exceptions
- Floating Point Exceptions
- Fortran 90
- conformance to standard
- Conformance to the Fortran 90 Language Standard
- driver. See driver
- Using the Driver
- implementation-dependent features
- Processor-Dependent Features
- getarg
- Arguments to the Main Program
- Executing a Program
- global option table
- Specifying Memory Allocation and Alignment
- global variable
- Global Variables
- handle_sigfpes
- Floating Point Exceptions
- I/O
- default record length
- Default Output Record Lengths
- I/O status
- Status From I/O Statements
- iargc
- Executing a Program
- implementation-dependent features
- Processor-Dependent Features
- INCLUDE
- INCLUDE Processing
- inlining
- Overview Inlining and IPA
- creating libraries
- Creating Libraries of Inline Functions
- default options
- Overview Inlining and IPA
- restrictions
- Conditions That Prevent Inlining and IPA
- source of functions
- Specifying Where to Search for Routines
- specifying functions
- Specifying Functions for Inlining or IPA
- interprocedural analysis (IPA)
- Overview Inlining and IPA
- default options
- Overview Inlining and IPA
- fine-tuning
- Fine-Tuning Inlining and IPA
- restrictions
- Conditions That Prevent Inlining and IPA
- specifying procedures
- Specifying Functions for Inlining or IPA
- intrinsic functions
- in parallel loop
- Parallel Procedure Calls
- vector versions
- Using Vector Intrinsic Functions
- intrinsic procedure
- nonstandard
- Nonstandard Intrinsic Procedures
- invariant IF floating
- Setting Invariant IF Floating Limits
- IOSTAT values
- Status From I/O Statements
- IRIX kernel functions
- Support for IRIX Kernel Functions
- known dependences
- Known and Assumed Dependence
- libfpe
- Floating Point Exceptions
- library functions
- Support for IRIX Kernel Functions
- limit command
- Checking and Setting IRIX Limits
- linking
- Linking
- default libraries
- Specifying the Location of Libraries
- dynamic
- Static and Dynamic Linking
- library location
- Specifying the Location of Libraries
- multiple-unit program
- Linking Multiple-File Programs
- object file sources
- Object Files
- static
- Static and Dynamic Linking
- with DSO
- Linking With DSOs
- listing of optimization
- Setting the Listing Level
- local variable
- allocation
- Procedure Local Variables
- in parallel loop
- Use of Local Variable
- size limits
- Program and Memory Size Limits
- loop fusion
- Enabling Loop Fusion
- loop interchange
- Using a Loop Interchange
- loop transformation by C$DOACROSS
- Loop Transformation
- main module
- Linking Multiple-File Programs
- makefile with mkf2c
- Makefile Considerations
- makefiles
- Makefile Considerations
- matrix multiply
- Parallelizing a Matrix Multiply
- memory
- global variable
- Global Variables
- local variable
- Procedure Local Variables
- management transformation
- Performing Memory Management Transformations
- maximum allocatable
- Allocatable Sizes
- module global variable
- MODULE Global Variables
- size limits
- Program and Memory Size Limits
- swap storage limit
- Limits of Swap Storage
- memory alignment
- Specifying Memory Allocation and Alignment
- memory allocation
- Specifying Memory Allocation and Alignment
- mkf2c
- Making C Wrappers With mkf2c
- character arguments
- Character String Treatment by mkf2c
- extcentry
- Using mkf2c and extcentry
- parameter correspondence
- Parameter Assumptions by mkf2c
- restrictions
- Restrictions of mkf2c
- module
- allocation of global variable
- MODULE Global Variables
- compared to DSO
- Creating Dynamic Shared Objects
- implementation
- Implementation of MODULE and USE
- intrinsic
- Standard and Intrinsic Modules
- standard
- Standard and Intrinsic Modules
- mp_barrier
- Using mp_setlock, mp_unsetlock, mp_barrier
- mp_block
- Using mp_block and mp_unblock
- mp_blocktime
- Using mp_blocktime
- mp_create
- Using mp_setup, mp_create, and mp_destroy
- mp_destroy
- Using mp_setup, mp_create, and mp_destroy
- mp_my_threadnum
- Using mp_my_threadnum
- mp_numthreads
- Using mp_numthreads and mp_set_numthreads
- mp_set_numthreads
- Using mp_setup, mp_create, and mp_destroy
- Using mp_numthreads and mp_set_numthreads
- mp_setlock
- Using mp_setlock, mp_unsetlock, mp_barrier
- mp_setup
- Using mp_numthreads and mp_set_numthreads
- Using mp_setup, mp_create, and mp_destroy
- mp_unblock
- Using mp_block and mp_unblock
- mp_unsetlock
- Using mp_setlock, mp_unsetlock, mp_barrier
- name of external routine
- How Fortran 90 Handles External and Public Names
- nonstandard intrinsics
- Nonstandard Intrinsic Procedures
- numeric precision
- Numeric Precision
- object file
- Object Files
- optimization
- control of assumptions
- Controlling Global Assumptions
- controlling internal table size
- Controlling Internal Table Size
- controlling with directives
- Controlling Scalar Optimizations
- dead code elimination
- Controlling the Optimization Level
- dependences
- Known and Assumed Dependence
- driver options
- Specifying Optimization Levels
- floating invariant IF
- Setting Invariant IF Floating Limits
- Setting Invariant IF Floating Limits
- inlining
- Overview Inlining and IPA
- IPA
- Overview Inlining and IPA
- listing level
- Setting the Listing Level
- loop fusion
- Enabling Loop Fusion
- memory management
- Performing Memory Management Transformations
- number of registers
- Performing Memory Management Transformations
- roundoff control
- Controlling Variations in Round Off
- scalar
- Controlling Scalar Optimizations
- Overview of Scalar Optimization
- level
- Controlling the Optimization Level
- specifying cache size
- Performing Memory Management Transformations
- Parallel Computing Forum (PCF)
- Parallel Directives
- parallel region
- Parallel Region
- parallelization
- Overview of Parallel Optimization
- and -static
- Using the –static Option
- cache effects
- Cache Effects
- critical section
- Critical Sections
- debugging
- Debugging Parallel Fortran
- dynamic scheduling
- Using MP_SCHEDTYPE=DYNAMIC
- effect of dependences
- Analyzing Data Dependencies for Multiprocessing
- efficiency of
- A Few Words About Efficiency
- execution
- Compiling and Running
- implementation
- DOACROSS Implementation
- interleaved scheduling
- Balancing the Load With Interleaving
- Using MP_SCHEDTYPE=INTERLEAVE
- local common blocks
- Using Local COMMON Blocks
- matrix multiply
- Parallelizing a Matrix Multiply
- of intrinsic functions
- Parallel Procedure Calls
- of procedure calls
- Parallel Procedure Calls
- of simple loops
- Writing Simple Parallel Loops
- overview
- Overview of Parallel Optimization
- parallel region
- Parallel Region
- parallel sections
- Parallel Sections
- PCF directives for
- Using PCF Directives
- profiling
- Profiling a Parallel Fortran Program
- runtime control
- Run-Time Control of Multiprocessing
- scheduling modes
- Using the CHUNK and MP_SCHEDTYPE Clauses
- sproc compatibility
- Compatibility With sproc
- work quantum of
- Adjusting the Work Quantum
- parameters, passing
- How Fortran Passes Subprogram Parameters
- PCF directives
- Parallel Directives
- Using PCF Directives
- C$DOACROSS
- Syntax of C$DOACROSS
- C$PAR
- C$PAR &
- C$PAR BARRIER
- Barrier Constructs
- C$PAR CRITICAL SECTION
- Critical Sections
- C$PAR PARALLEL DO
- Parallel DO
- C$PAR PDO
- PDO
- C$PAR PSECTION
- Parallel Sections
- C$PAR SINGLE PROCESS
- Single Process
- efficiency of
- A Few Words About Efficiency
- parallel region
- Parallel Region
- parallel sections
- Parallel Sections
- summary
- Using PCF Directives
- work-sharing directives
- PCF Work-Sharing Constructs
- profiling
- Specifying Debugging and Profiling
- public name
- External and Public Names
- random number generation
- Implementation of RANDOM_NUMBER
- RECL= specifier
- Default Output Record Lengths
- RECURSIVE
- Use of the Keyword RECURSIVE
- roundoff
- Controlling Variations in Round Off
- runtime environment. See execution environment
- Execution Environment
- SAVE attribute
- Treatment of the SAVE Attribute
- stack
- size limits
- Program and Memory Size Limits
- statement function
- array references in
- Array References in Statement Functions
- subprogram parameters
- How Fortran Passes Subprogram Parameters
- SYS$ERROR
- Filename Syntax
- SYS$INPUT
- Filename Syntax
- SYS$OUTPUT
- Filename Syntax
- unit number
- preconnected
- Preconnected Files
- VAST directives
- CVD$ NODEPCHK
- Ignoring Data Dependence Conflicts
- vector intrinsics
- Using Vector Intrinsic Functions
- wrapper
- made by mkf2c
- Making C Wrappers With mkf2c