About Intel® Fortran Compiler
Welcome to Intel® Fortran Compiler What's New in This Release Features and Benefits Product Web Site and Support System Requirements FLEXlm* Electronic Licensing About This Document How to Use This Document Related Publications Disclaimer
Welcome to Intel® Fortran Compiler
What's New in This Release
Features and Benefits
Product Web Site and Support
System Requirements
FLEXlm* Electronic Licensing
About This Document
How to Use This Document Related Publications
How to Use This Document
Related Publications
Disclaimer
Compiler Options Quick Reference Guides
Options Quick Reference Guides Overview Alphabetical Listing Compiler Options Quick Reference Alphabetical Functional Group Listings Compiler Options by Functional Groups Overview Customizing Compilation Process Options Setting Fortran Compilation Environment Alternate Tools and Locations Preprocessing Compiling and Linking Compilation Output Debugging Libraries Diagnostics and Messages Language Conformance Options Data Type Source Program Setting Arguments and Variables Common Block Application Performance Optimizations Options Optimization Level Floating-point Arithmetic Precision Processor Dispatch Support (IA-32 only) Interprocedural Optimizations Profile-guided Optimizations High-level Language Optimizations Vectorization Windows* to Linux* Mapping Windows* to Linux* Options Cross-reference
Options Quick Reference Guides Overview
Alphabetical Listing
Compiler Options Quick Reference Alphabetical
Functional Group Listings
Compiler Options by Functional Groups Overview Customizing Compilation Process Options Setting Fortran Compilation Environment Alternate Tools and Locations Preprocessing Compiling and Linking Compilation Output Debugging Libraries Diagnostics and Messages Language Conformance Options Data Type Source Program Setting Arguments and Variables Common Block Application Performance Optimizations Options Optimization Level Floating-point Arithmetic Precision Processor Dispatch Support (IA-32 only) Interprocedural Optimizations Profile-guided Optimizations High-level Language Optimizations Vectorization
Compiler Options by Functional Groups Overview
Customizing Compilation Process Options
Setting Fortran Compilation Environment Alternate Tools and Locations Preprocessing Compiling and Linking Compilation Output Debugging Libraries Diagnostics and Messages
Setting Fortran Compilation Environment
Alternate Tools and Locations
Preprocessing
Compiling and Linking
Compilation Output
Debugging
Libraries
Diagnostics and Messages
Language Conformance Options
Data Type Source Program Setting Arguments and Variables Common Block
Data Type
Source Program
Setting Arguments and Variables
Common Block
Application Performance Optimizations Options
Optimization Level Floating-point Arithmetic Precision Processor Dispatch Support (IA-32 only) Interprocedural Optimizations Profile-guided Optimizations High-level Language Optimizations Vectorization
Optimization Level
Floating-point Arithmetic Precision
Processor Dispatch Support (IA-32 only)
Interprocedural Optimizations
Profile-guided Optimizations
High-level Language Optimizations
Vectorization
Windows* to Linux* Mapping
Windows* to Linux* Options Cross-reference
Invoking Intel® Fortran Compiler
Invoking Intel® Fortran Compiler Overview Invoking from the Compiler Command Line Command Line with make Running Itanium(TM)-based Applications Compiled on IA-32-based Systems Default Behavior of the Compiler Input Files Compilation Phases
Invoking Intel® Fortran Compiler Overview
Invoking from the Compiler Command Line
Command Line with make
Running Itanium(TM)-based Applications Compiled on IA-32-based Systems
Default Behavior of the Compiler
Input Files
Compilation Phases
Customizing Compilation Environment
Customizing Compilation Environment Overview Environment Variables FCE Options Configuration Files Response Files Include Files Fortran Compilation Environment (FCE) FCE Overview Object Files and Dictionary Files Program Unit Catalog List Files An Example of Development Organization The FCE Manager Utility The Binder Dependent and Independent Compilation Fortran Programs with or without Modules Stale Program Units
Customizing Compilation Environment Overview
Environment Variables
FCE Options
Configuration Files
Response Files
Include Files
Fortran Compilation Environment (FCE)
FCE Overview Object Files and Dictionary Files Program Unit Catalog List Files An Example of Development Organization The FCE Manager Utility The Binder Dependent and Independent Compilation Fortran Programs with or without Modules Stale Program Units
FCE Overview
Object Files and Dictionary Files
Program Unit Catalog List Files
An Example of Development Organization
The FCE Manager Utility
The Binder
Dependent and Independent Compilation
Fortran Programs with or without Modules
Stale Program Units
Customizing Compilation Process
Customizing Compilation Process Overview Specifying Alternate Tools and Locations Preprocessing Preprocessing Overview Preprocessing Fortran Files Preprocessing Only: -E, -EP, -F, and -P Searching for Include Files Defining Macros, -D, -U and -A Compilation and Linking Compilation and Linking Overview Compiler Input and Output Options Summary Compilation Options Monitoring Compiler-generated Code Specifying the Output File with -o, -S Listing Options Using the Assembler to Produce Object Code Assembly File Code Example Linking Debugging Debugging Options Summary Preparing for Debugging, -g Support for Symbolic Debugging Parsing for Syntax Only Compiling Source Lines with Debugging Statements, -DD
Customizing Compilation Process Overview
Specifying Alternate Tools and Locations
Preprocessing Overview Preprocessing Fortran Files Preprocessing Only: -E, -EP, -F, and -P Searching for Include Files Defining Macros, -D, -U and -A
Preprocessing Overview
Preprocessing Fortran Files
Preprocessing Only: -E, -EP, -F, and -P
Searching for Include Files
Defining Macros, -D, -U and -A
Compilation and Linking
Compilation and Linking Overview Compiler Input and Output Options Summary Compilation Options Monitoring Compiler-generated Code Specifying the Output File with -o, -S Listing Options Using the Assembler to Produce Object Code Assembly File Code Example Linking
Compilation and Linking Overview
Compiler Input and Output Options Summary
Compilation Options
Monitoring Compiler-generated Code
Specifying the Output File with -o, -S
Listing Options
Using the Assembler to Produce Object Code
Assembly File Code Example
Linking
Debugging Options Summary Preparing for Debugging, -g Support for Symbolic Debugging Parsing for Syntax Only Compiling Source Lines with Debugging Statements, -DD
Debugging Options Summary
Preparing for Debugging, -g
Support for Symbolic Debugging
Parsing for Syntax Only
Compiling Source Lines with Debugging Statements, -DD
Fortran Language Conformance Options
Fortran Language Conformance Options Overview Data Type Source Program Setting Arguments and Variables Common Block
Fortran Language Conformance Options Overview
Optimizations
Optimization Levels Optimization-level Options Restricting Optimizations Floating-point Arithmetic Optimizations Floating-point Arithmetic Precision Maintaining Floating-point Arithmetic Precision, -mp Processor Dispatch Extensions Support (IA-32 Only) Targeting a Processor and Extensions Support Overview Targeting a Processor, -tppn Exclusive Specialized Code with -x{i |M|K|W} Specialized Code with -ax{i |M|K|W} Combining Processor Target and Dispatch Options Interprocedural Optimizations Interprocedural Optimizations (IPO) Multifile IPO Multifile IPO Overview Compilation with Real Object Files, -ipo_obj Creating a Multifile IPO Executable Creating a Multifile IPO Executable Using a Project Makefile Analyzing the Effects of Multifile IPO, -ipo_c, -ipo_S Inline Expansion of Functions Inline Expansion of Library Functions Controlling Inline Expansion of User Functions Criteria for Inline Function Expansion IPO with -Qoption Using -ip with -Qoption Using -Qoption Specifiers Profile-guided Optimizations Profile-guided Optimizations Overview Profile-guided Optimizations Methodology PGO Environment Variables Basic Profile-Guided Optimization Options Using Profile-Guided Optimization: An Example Guidelines for Using Advanced PGO Function Order List Usage Guidelines Utilities for Profile-Guided Optimization High-level Language Optimizations (HLO) HLO Overview Loop Transformations Scalar Replacement (IA-32 Only) Loop Unrolling with -unroll[n] Prefetching Parallelization Parallelization with -openmp OpenMP* Standard Option OpenMP* Runtime Library Routines Intel Extensions to OpenMP* Examples of OpenMP* Usage Vectorization (IA-32 Only) Vectorization Overview Vectorizer Options Loop Structure Coding Background Vectorization Key Programming Guidelines Data Dependence Loop Constructs Loop Exit Conditions Types of Loop Vectorized Stripmining and Cleanup Statements in the Loop Body Vectorizable Data References Vectorization Examples Loop Interchange and Subscripts: Matrix Multiply
Optimization Levels
Optimization-level Options Restricting Optimizations
Optimization-level Options
Restricting Optimizations
Floating-point Arithmetic Optimizations
Floating-point Arithmetic Precision Maintaining Floating-point Arithmetic Precision, -mp
Maintaining Floating-point Arithmetic Precision, -mp
Processor Dispatch Extensions Support (IA-32 Only)
Targeting a Processor and Extensions Support Overview Targeting a Processor, -tppn Exclusive Specialized Code with -x{i |M|K|W} Specialized Code with -ax{i |M|K|W} Combining Processor Target and Dispatch Options
Targeting a Processor and Extensions Support Overview
Targeting a Processor, -tppn
Exclusive Specialized Code with -x{i |M|K|W}
Specialized Code with -ax{i |M|K|W}
Combining Processor Target and Dispatch Options
Interprocedural Optimizations (IPO) Multifile IPO Multifile IPO Overview Compilation with Real Object Files, -ipo_obj Creating a Multifile IPO Executable Creating a Multifile IPO Executable Using a Project Makefile Analyzing the Effects of Multifile IPO, -ipo_c, -ipo_S Inline Expansion of Functions Inline Expansion of Library Functions Controlling Inline Expansion of User Functions Criteria for Inline Function Expansion IPO with -Qoption Using -ip with -Qoption Using -Qoption Specifiers
Interprocedural Optimizations (IPO)
Multifile IPO
Multifile IPO Overview Compilation with Real Object Files, -ipo_obj Creating a Multifile IPO Executable Creating a Multifile IPO Executable Using a Project Makefile Analyzing the Effects of Multifile IPO, -ipo_c, -ipo_S
Multifile IPO Overview
Compilation with Real Object Files, -ipo_obj
Creating a Multifile IPO Executable
Creating a Multifile IPO Executable Using a Project Makefile
Analyzing the Effects of Multifile IPO, -ipo_c, -ipo_S
Inline Expansion of Functions
Inline Expansion of Library Functions Controlling Inline Expansion of User Functions Criteria for Inline Function Expansion
Inline Expansion of Library Functions
Controlling Inline Expansion of User Functions
Criteria for Inline Function Expansion
IPO with -Qoption
Using -ip with -Qoption Using -Qoption Specifiers
Using -ip with -Qoption
Using -Qoption Specifiers
Profile-guided Optimizations Overview Profile-guided Optimizations Methodology PGO Environment Variables Basic Profile-Guided Optimization Options Using Profile-Guided Optimization: An Example Guidelines for Using Advanced PGO Function Order List Usage Guidelines Utilities for Profile-Guided Optimization
Profile-guided Optimizations Overview
Profile-guided Optimizations Methodology
PGO Environment Variables
Basic Profile-Guided Optimization Options
Using Profile-Guided Optimization: An Example
Guidelines for Using Advanced PGO
Function Order List Usage Guidelines
Utilities for Profile-Guided Optimization
High-level Language Optimizations (HLO)
HLO Overview Loop Transformations Scalar Replacement (IA-32 Only) Loop Unrolling with -unroll[n] Prefetching
HLO Overview
Loop Transformations
Scalar Replacement (IA-32 Only)
Loop Unrolling with -unroll[n]
Prefetching
Parallelization
Parallelization with -openmp OpenMP* Standard Option OpenMP* Runtime Library Routines Intel Extensions to OpenMP* Examples of OpenMP* Usage
Parallelization with -openmp
OpenMP* Standard Option
OpenMP* Runtime Library Routines
Intel Extensions to OpenMP*
Examples of OpenMP* Usage
Vectorization (IA-32 Only)
Vectorization Overview Vectorizer Options Loop Structure Coding Background Vectorization Key Programming Guidelines Data Dependence Loop Constructs Loop Exit Conditions Types of Loop Vectorized Stripmining and Cleanup Statements in the Loop Body Vectorizable Data References Vectorization Examples Loop Interchange and Subscripts: Matrix Multiply
Vectorization Overview
Vectorizer Options
Loop Structure Coding Background
Vectorization Key Programming Guidelines
Data Dependence
Loop Constructs
Loop Exit Conditions
Types of Loop Vectorized
Stripmining and Cleanup
Statements in the Loop Body
Vectorizable Data References
Vectorization Examples
Loop Interchange and Subscripts: Matrix Multiply
Managing Libraries Using Multi-thread and Single-thread Libraries Using the POSIX and Portability Libraries Intel® Shared Libraries Math Libraries Math Libraries Overview Using Math Libraries with IA-32 Systems IEEE Floating-point Exceptions Invalid Operation Exception
Managing Libraries
Using Multi-thread and Single-thread Libraries
Using the POSIX and Portability Libraries
Intel® Shared Libraries
Math Libraries
Math Libraries Overview Using Math Libraries with IA-32 Systems IEEE Floating-point Exceptions Invalid Operation Exception
Math Libraries Overview
Using Math Libraries with IA-32 Systems
IEEE Floating-point Exceptions
Invalid Operation Exception
Diagnostics Overview Runtime Diagnostics (IA-32 Compiler Only) Runtime Diagnostics Overview Optional Runtime Checks Pointers, -CA Array Subscripts, Character Substrings, -CB Unassigned Variables, -CU Actual to Dummy Argument Correspondence, -CV Selecting a Postmortem Report, -d[n] Invoking a Postmortem Report Messages and Obtaining Information Compiler Information Messages Diagnostic Messages Warning Messages Comment Messages Error Messages
Diagnostics Overview
Runtime Diagnostics (IA-32 Compiler Only)
Runtime Diagnostics Overview Optional Runtime Checks Pointers, -CA Array Subscripts, Character Substrings, -CB Unassigned Variables, -CU Actual to Dummy Argument Correspondence, -CV Selecting a Postmortem Report, -d[n] Invoking a Postmortem Report
Runtime Diagnostics Overview
Optional Runtime Checks
Pointers, -CA
Array Subscripts, Character Substrings, -CB
Unassigned Variables, -CU
Actual to Dummy Argument Correspondence, -CV
Selecting a Postmortem Report, -d[n]
Invoking a Postmortem Report
Messages and Obtaining Information
Compiler Information Messages Diagnostic Messages Warning Messages Comment Messages Error Messages
Compiler Information Messages
Diagnostic Messages
Warning Messages
Comment Messages
Error Messages
Mixing C and Fortran
Mixing C and Fortran Overview Fortran and C Scalar Arguments Passing Scalar Arguments by Value Array Arguments Character Types Complex Types Return Values Returning Character Data Types Returning Complex Type Data Procedure Names Pointers Calling C Pointer-type Function from Fortran Implicit Interface Explicit Interface Intrinsic Functions
Mixing C and Fortran Overview
Fortran and C Scalar Arguments
Passing Scalar Arguments by Value
Array Arguments
Character Types
Complex Types
Return Values
Returning Character Data Types
Returning Complex Type Data
Procedure Names
Pointers
Calling C Pointer-type Function from Fortran
Implicit Interface
Explicit Interface
Intrinsic Functions
Reference Information
OpenMP* Reference Information List of OpenMP* Standard Directives and Clauses List of OpenMP* Runtime Library Routines Compiler Limits Maximum Size and Number Additional Intrinsic Functions Additional Intrinsic Functions Overview Argument And Result KIND Parameters Intel Fortran kind Parameters %REF and %VAL Intrinsic Functions List of Additional Intrinsic Functions Intel Fortran Compiler Key Files Key Files Summary for IA-32 Compiler Key Files Summary for Itanium(TM) Compiler Lists of Error Messages Error Message Lists Overview Runtime Errors (IA-32 Only) Allocation Errors Input/Output Errors Intrinsic Procedure Errors Mathematical Errors Exception Messages
OpenMP* Reference Information
List of OpenMP* Standard Directives and Clauses List of OpenMP* Runtime Library Routines
List of OpenMP* Standard Directives and Clauses
List of OpenMP* Runtime Library Routines
Compiler Limits
Maximum Size and Number
Additional Intrinsic Functions
Additional Intrinsic Functions Overview Argument And Result KIND Parameters Intel Fortran kind Parameters %REF and %VAL Intrinsic Functions List of Additional Intrinsic Functions
Additional Intrinsic Functions Overview
Argument And Result KIND Parameters
Intel Fortran kind Parameters
%REF and %VAL Intrinsic Functions
List of Additional Intrinsic Functions
Intel Fortran Compiler Key Files
Key Files Summary for IA-32 Compiler Key Files Summary for Itanium(TM) Compiler
Key Files Summary for IA-32 Compiler
Key Files Summary for Itanium(TM) Compiler
Lists of Error Messages
Error Message Lists Overview Runtime Errors (IA-32 Only) Allocation Errors Input/Output Errors Intrinsic Procedure Errors Mathematical Errors Exception Messages
Error Message Lists Overview
Runtime Errors (IA-32 Only)
Allocation Errors
Input/Output Errors
Intrinsic Procedure Errors
Mathematical Errors
Exception Messages