The following table lists available compiler directives.
Each general directive name is preceded by the prefix cDEC$; for example, cDEC$ ALIAS. Each OpenMP* Fortran directive name is preceded by the prefix c$OMP; for example, c$OMP ATOMIC. The c in either can be a c, C, *, or ! in fixed-form source code; only ! in free-form source code.
| General Directives | ||
|---|---|---|
| Name | Description | |
| ALIAS | Specifies an alternate external name to be used when referring to external subprograms. | |
| ASSUME_ALIGNED | Specifies that an entity in memory is aligned. | |
| ATTRIBUTES | Applies attributes to variables and procedures. | |
| DECLARE | Generates warning messages for undeclared variables. | |
| DEFINE | Creates a variable whose existence can be tested during conditional compilation. | |
| DISTRIBUTE POINT | Specifies distribution for a DO loop. | |
| ELSE | Marks the beginning of an alternative conditional-compilation block to an IF directive construct. | |
| ELSEIF | Marks the beginning of an alternative conditional-compilation block to an IF directive construct. | |
| ENDIF | Marks the end of a conditional-compilation block. | |
| FIXEDFORMLINESIZE | Sets fixed-form line length. This directive has no effect on freeform code. | |
| FREEFORM | Uses freeform format for source code. | |
| IDENT | Specifies an identifier for an object module. | |
| IF | Marks the beginning of a conditional-compilation block. | |
| IF DEFINED | Marks the beginning of a conditional-compilation block. | |
| INTEGER | Selects default integer size. | |
| IVDEP | Assists the compiler's dependence analysis of iterative DO loops. | |
| LOOP COUNT | Specifies the loop count for a DO loop; this assists the optimizer. | |
| MEMREF_CONTROL1 | Lets you provide cache hints on prefetches, loads, and stores. | |
| MESSAGE | Sends a character string to the standard output device. | |
| NODECLARE | (Default) Turns off warning messages for undeclared variables. | |
| NOFREEFORM | (Default) Uses standard FORTRAN 77 code formatting column rules. | |
| NOPARALLEL | Disables auto-parallelization for an immediately following DO loop. | |
| NOOPTIMIZE | Disables optimizations. | |
| NOPREFETCH | Disables a data prefetch from memory. | |
| NOSTRICT | (Default) Disables a previous STRICT directive. | |
| NOSWP1 | Disables software pipelining for a DO loop. | |
| NOUNROLL | Disables the unrolling of a DO loop. | |
| NOVECTOR2 | Disables vectorization of a DO loop. | |
| OBJCOMMENT | Specifies a library search path in an object file. | |
| OPTIMIZE | Enables optimizations. | |
| OPTIONS | Controls whether fields in records and data items in common blocks are naturally aligned or packed on arbitrary byte boundaries. | |
| PACK | Specifies the memory starting addresses of derived-type items. | |
| PARALLEL | Enables auto-parallelization for an immediately following DO loop. | |
| PREFETCH | Enables a data prefetch from memory. | |
| PSECT | Modifies certain characteristics of a common block. | |
| REAL | Selects default real size. | |
| STRICT | Disables Intel® Fortran features not in the language standard specified on the command line (Fortran 95 or Fortran 90). | |
| SWP1 | Enables software pipelining for a DO loop. | |
| UNDEFINE | Removes a symbolic variable name created with the DEFINE directive. | |
| UNROLL | Tells the compiler's optimizer how many times to unroll a DO loop. | |
| VECTOR ALIGNED2 | Specifies that all data is aligned in a DO loop. | |
| VECTOR ALWAYS2 | Enables vectorization of a DO loop. | |
| VECTOR NONTEMPORAL2 | Enables streaming storage. | |
| VECTOR UNALIGNED2 | Specifies that no data is aligned in a DO loop. | |
| OpenMP Fortran Directives3 | ||
| Name | Description | |
| ATOMIC | Specifies that a specific memory location is to be updated dynamically. | |
| BARRIER | Synchronizes all the threads in a team. | |
| CRITICAL | Restricts access for a block of code to only one thread at a time. | |
| DO | Specifies that the iterations of the immediately following DO loop must be executed in parallel. | |
| FLUSH | Specifies synchronization points where the implementation must have a consistent view of memory. | |
| MASTER | Specifies a block of code to be executed by the master thread of the team. | |
| ORDERED | Specifies a block of code to be executed sequentially. | |
| PARALLEL | Defines a parallel region. | |
| PARALLEL DO | Defines a parallel region that contains a single DO directive. | |
| PARALLEL SECTIONS | Defines a parallel region that contains SECTIONS directives. | |
| PARALLEL WORKSHARE | Defines a parallel region that contains a single WORKSHARE directive. | |
| SECTIONS | Specifies a block of code to be divided among threads in a team (a worksharing area). | |
| SINGLE | Specifies a block of code to be executed by only one thread in a team. | |
| THREADPRIVATE | Makes named common blocks private to a thread but global within the thread. | |
| WORKSHARE | Divides the work of executing a block of statements or constructs into separate units. | |
| 1 i64 only 2 i32, i64em 3 To use these directives, you must specify compiler option -openmp (Linux and Mac OS X) or /Qopenmp (Windows). |
||