CF90
TM
Commands and Directives Reference Manual
Table of Contents
About This Manual
Related CF90 Publications
CF90 Messages
CF90 Man Pages
Related Fortran Publications
Related Publications
Obtaining Publications
Conventions
Reader Comments
1.
Introduction
2.
Invoking CF90
2.1.
Setting Up the CF90 Programming Environment
2.2.
The
f90
Command
2.2.1.
-a
alloc
2.2.2.
-A
module_name
[
,
module_name
] ...
2.2.3.
-b
bin_obj_file
2.2.4.
-c
2.2.5.
-C
cifopts
2.2.6.
-d
disable
and
-e
enable
2.2.7.
-D
identifier
[=
value
][,
identifier
[=
value
]]...
2.2.8.
-f
source_form
2.2.9.
-F
2.2.10.
-g
2.2.11.
-G
debug_lvl
2.2.12.
-i 32
2.2.13.
-I
incldir
2.2.14.
-l
lib
2.2.15.
-L
dir
2.2.16.
-m
msg_lvl
2.2.17.
-M
msgs
2.2.18.
-N
col
2.2.19.
-o
out_file
2.2.20.
-O
opt
[
,
opt
] ...
2.2.21.
-p
module_site
2.2.22.
-r
list_opt
2.2.23.
-R
runchk
2.2.24.
-s
size
2.2.25.
-S
asm_file
2.2.26.
-t
num
(UNICOS Systems Only)
2.2.27.
-T
2.2.28.
-U
identifier
[
,
identifier
] ...
2.2.29.
-v
2.2.30.
-V
2.2.31.
-Wa"
assembler_opt
"
2.2.32.
-Wl"
loader_opt
"
2.2.33.
-Wp"
srcpp_opt
"
2.2.34.
-Wr"
ftnlist_opt
"
2.2.35.
-x
dirlist
2.2.36.
-X
npes
(UNICOS/mk Systems Only)
2.2.37.
-Z
(UNICOS/mk Systems Only)
2.2.38.
- -
2.2.39.
file.suffix
[
90
] [
file.suffix
[
90
]
] ...
2.3.
Environment Variables
2.3.1.
AUXBUF
(UNICOS Systems Only)
2.3.2.
AUXPAGE
(UNICOS Systems Only)
2.3.3.
CRI_F90_OPTIONS
2.3.4.
LD_OPTIONS
(UNICOS/mk Systems Only)
2.3.5.
LISTIO_PRECISION
2.3.6.
LPP
2.3.7.
MP_DEDICATED
(UNICOS Systems Only)
2.3.8.
MP_HOLDTIME
(UNICOS Systems Only)
2.3.9.
MP_SAMPLE
(UNICOS Systems Only)
2.3.10.
MP_SLVSIN
(UNICOS Systems Only)
2.3.11.
MP_SLVSSZ
(UNICOS Systems Only)
2.3.12.
NCPUS
(UNICOS Systems Only)
2.3.13.
NLSPATH
2.3.14.
NPROC
2.3.15.
OMP_DYNAMIC
(UNICOS Systems Only)
2.3.16.
OMP_NESTED
(UNICOS Systems Only)
2.3.17.
OMP_NUM_THREADS
(UNICOS Systems Only)
2.3.18.
OMP_SCHEDULE
(UNICOS Systems Only)
2.3.19.
SEGDIR
(UNICOS Systems Only)
2.3.20.
TARGET
2.3.21.
TMPDIR
3.
CF90 Directives
3.1.
Using Directives
3.1.1.
Directive Lines
3.1.2.
Range and Placement of Directives
3.1.3.
Interaction of Directives with the
-x
Command Line Option
3.1.4.
Command Line Options and Directives
3.2.
Vectorization and Tasking Directives
3.2.1.
Declare Lack of Side Effects:
CNCALL
3.2.2.
Copy Arrays to Temporary Storage:
COPY_ASSUMED_SHAPE
3.2.3.
Ignore Dependencies:
IVDEP
3.2.4.
Specify Scalar Processing:
NEXTSCALAR
3.2.5.
Request Pattern Matching:
PATTERN
and
NOPATTERN
3.2.6.
Declare an Array with No Repeated Values:
PERMUTATION
3.2.7.
Designate Nested Loops:
PREFERTASK
(UNICOS Systems Only)
3.2.8.
Designate Loop Nest for Vectorization:
PREFERVECTOR
(UNICOS Systems Only)
3.2.9.
Designate Reduction Loops:
RECURRENCE
,
NORECURRENCE
3.2.10.
Designate Loops with Low Trip Counts:
SHORTLOOP
,
SHORTLOOP128
3.2.11.
Enable and Disable Tasking:
TASK
and
NOTASK
(UNICOS Systems Only)
3.2.12.
Unroll Loops:
UNROLL
and
NOUNROLL
3.2.13.
Enable and Disable Vectorization:
VECTOR
and
NOVECTOR
3.2.14.
Specify a Vectorizable Function:
VFUNCTION
(UNICOS Systems Only)
3.2.15.
Vectorize Search Loops:
VSEARCH
and
NOVSEARCH
(UNICOS Systems Only)
3.3.
Inlining Directives
3.3.1.
Disable or Enable Inlining for a Block of Code:
INLINE
and
NOINLINE
3.3.2.
Specify Inlining for a Procedure:
INLINEALWAYS
and
INLINENEVER
3.3.3.
Create Inlinable Templates for Module Procedures:
MODINLINE
and
NOMODINLINE
3.4.
Scalar Optimization Directives
3.4.1.
Align Loops on Buffer Boundaries:
ALIGN
(UNICOS Systems Only)
3.4.2.
Bottom Load Operands:
BL
and
NOBL
3.4.3.
Bypass Cache References:
CACHE_BYPASS
(UNICOS/mk Systems Only)
3.4.4.
Inhibit Loop Interchanging:
NOINTERCHANGE
3.4.5.
Determine Register Storage:
NOSIDEEFFECTS
(UNICOS Systems Only)
3.4.6.
Request Loop Splitting:
SPLIT
and
NOSPLIT
(UNICOS/mk Systems Only)
3.4.7.
Suppress Scalar Optimization:
SUPPRESS
3.5.
Local Use of Compiler Features
3.5.1.
Check Array Bounds:
BOUNDS
and
NOBOUNDS
3.5.2.
Specify Source Form:
FREE
and
FIXED
3.6.
Storage Directives
3.6.1.
Allocating to SSD:
AUXILIARY
(UNICOS Systems Only)
3.6.2.
Align on Cache Line Boundaries:
CACHE_ALIGN
(UNICOS/mk Systems Only)
3.6.3.
Declare Common Blocks Global to All Tasks:
COMMON
(UNICOS Systems Only)
3.6.4.
Request Stack Storage:
STACK
3.6.5.
Declare Local Addressing:
SYMMETRIC
(UNICOS/mk Systems Only)
3.6.6.
Declare Common Blocks Local to Each Task:
TASKCOMMON
(UNICOS Systems Only)
3.7.
Miscellaneous Directives
3.7.1.
Specify Array Dependencies:
CONCURRENT
(UNICOS/mk Systems Only)
3.7.2.
Flowtracing Directives:
FLOW
and
NOFLOW
(UNICOS Systems Only)
3.7.3.
Create Identification String:
ID
3.7.4.
Disregard Dummy Argument Type, Kind, and Rank:
IGNORE_TKR
3.7.5.
External Name Mapping Directive:
NAME
3.7.6.
Reserve E Registers:
USES_EREGS
(UNICOS/mk Systems Only)
4.
OpenMP Fortran API Directives (UNICOS Systems Only)
4.1.
Using Directives
4.2.
Conditional Compilation
4.3.
Parallel Region Constructs (
PARALLEL
and
END PARALLEL
Directives)
4.4.
Work-sharing Constructs
4.4.1.
Specify Parallel Execution:
DO
and
END DO
Directives
4.4.2.
Mark Code for Specific Threads:
SECTION
,
SECTIONS
and
END SECTIONS
Directives
4.4.3.
Request Single-thread Execution:
SINGLE
and
END SINGLE
Directives
4.5.
Combined Parallel Work-sharing Constructs
4.5.1.
Declare a Parallel Region:
PARALLEL DO
and
END PARALLEL DO
Directives
4.5.2.
Declare Sections within a Parallel Region:
PARALLEL SECTIONS
and
END PARALLEL SECTIONS
Directives
4.6.
Synchronization Constructs
4.6.1.
Request Execution by the Master Thread:
MASTER
and
END MASTER
Directives
4.6.2.
Request Execution by a Single Thread:
CRITICAL
and
END CRITICAL
Directives
4.6.3.
Synchronize All Threads in a Team:
BARRIER
Directive
4.6.4.
Protect a Location from Multiple Updates:
ATOMIC
Directive
4.6.5.
Read and Write Variables to Memory:
FLUSH
Directive
4.6.6.
Request Sequential Ordering:
ORDERED
and
END ORDERED
Directives
4.7.
Data Environment Constructs
4.7.1.
Declare Common Blocks Private to a Thread:
THREADPRIVATE
Directive
4.7.2.
Data Scope Attribute Clauses
4.7.3.
Data Environment Rules
4.8.
Directive Binding
4.9.
Directive Nesting
4.10.
Analyzing Data Dependencies for Multiprocessing
4.10.1.
Dependency Analysis Examples
4.10.2.
Rewriting Data Dependencies
4.11.
Work Quantum
5.
Source Preprocessing
5.1.
General Rules
5.2.
Directives
5.2.1.
#include
Directive
5.2.2.
#define
Directive
5.2.3.
#undef
Directive
5.2.4.
#
(Null) Directive
5.2.5.
Conditional Directives
5.3.
Predefined Macros
5.4.
Command Line Options
A.
Autotasking Directives (UNICOS systems only) (Outmoded)
A.1.
Using Directives
A.1.1.
Directive Lines
A.1.2.
Range and Placement of Directives
A.1.3.
Interaction of Directives with the
-x
Command Line Option
A.1.4.
Command Line Options and Directives
A.1.5.
Migrating to OpenMP Fortran API Directives.
A.2.
Concurrent Blocks:
CASE
and
ENDCASE
A.3.
Declare Lack of Side Effects:
CNCALL
A.4.
Mark Parallel Loop:
DOALL
A.5.
Mark Parallel Loop:
DOPARALLEL
and
ENDDO
A.6.
Critical Region:
GUARD
and
ENDGUARD
A.7.
Allocate CPUs:
MAXCPUS
A.8.
Specify Maximum Number of CPUs for a Parallel Region:
NUMCPUS
A.9.
Mark Parallel Region:
PARALLEL
and
ENDPARALLEL
A.10.
Declare an Array with No Repeated Values:
PERMUTATION
A.11.
Declare a Cross-iteration Dependency:
WAIT
and
SEND
A.12.
Autoscoping Rules
A.12.1.
User-added Scope Required
A.12.2.
Examples
A.13.
Autotasking Restrictions
Glossary
Index
List of Tables
2-1.
Compiling options
2-2.
-O
opt
summary
2-3.
Automatic inlining specifications
2-4.
Description of
source
3-1.
Directives
4-1.
Initialization values
A-1.
Autotasking directive
parameter
A-2.
Autotasking directive
work_distribution
List of Figures
1-1.
f90
command example
2-1.
Optimization values
2-2.
Array storage
2-3.
Derived type storage
Table of Contents
|
Title Page
Next Section
About This Manual