Getting Started with the Intel® Fortran Composer XE 2013 for Linux* OS

Start compiling and debugging your code


The Intel® Fortran Composer XE 2013 for Linux* OS compiles Fortran source files on Linux* operating systems. The compiler and debugger are supported on IA-32 and Intel® 64 architectures.

The Intel® Fortran Composer XE 2013 for Linux* OS has tutorials with step by step instructions with sample code that you can compile into an application using the Intel compiler. Try out the compiler by using the source code from a tutorial.

If you need help getting started with this product, go to the Software Developer Support site where you can browse the knowledge base, ask user community experts and get additional help from Intel.


Set the Environment Variables

Before you can use the compiler, you must first set the environment variables by running the compiler environment script compilervars.sh or compilervars.csh with an argument that specifies the target architecture.

The following procedure uses the compilervars.sh script:

  1. Open a terminal session.

  2. Run the compiler environment script compilervars.sh:

    source <install-dir>/bin/compilervars.sh <arg>

    where <install-dir> is the directory structure containing the compiler /bin directory, and <arg> is one of the following architecture arguments:

    Note The default path for <install-dir> is /opt/intel/.


Start the Compiler from the Command Line

Before you can use the compiler, you must first set the environment variables as described above in Set the Environment Variables.

To invoke the Intel® from the command line, use the command ifort my_source_file.F90.

Following successful compilation, the compiler creates an executable file in the current directory.


Start the Intel® Debugger

The Intel® Debugger is available in a graphical environment and as a command line tool. The graphical environment is a Java* application and requires the Java Runtime Environment (JRE).

Before you can use the graphical environment or command line debugger, you must first set the environment variables and then start the debugger.

To start the debugger:

  1. Open a terminal session.

  2. Set the environment variables as described above in Set the Environment Variables.

  3. Enter one of the following commands:


Use the Tutorials

The following tutorials includes sample code that demonstrates the features of the compiler.

Using the Intel® MIC Architecture

A system with the Intel® Many Integrated Core Architecture (Intel® MIC Architecture) can run your application on both the CPU and the coprocessor. The application starts at the CPU with user-defined sections of the source code offloaded to the coprocessor.

In this tutorial, you will compile the sample source code into an application that runs on both the CPU and the coprocessor. You will then examine the source code to see how you can define sections to run on both the host CPU and the coprocessor.

Note You will need a system with the Intel® MIC Architecture to complete this tutorial.

Using Auto Vectorization

The auto-vectorizer detects operations in the application that can be done in parallel and converts sequential operations to parallel operations by using the Single Instruction Multiple Data (SIMD) instruction set.

In this tutorial, you will be introduced to adding parallelism to your serial application by using the auto-vectorizer on the sample code. You will then compare the performance of the serial version and the version that was compiled with the auto-vectorizer.

Using Guided Auto Parallelism

Guided auto parallelism offers selective advice that you can implement on your application.

In this tutorial, you will improve the performance of the sample code by invoking the advice specified in the guided auto parallelism report. You will then see the performance difference between the serial version and the version that uses the advice provided by the guided auto parallelism feature.

Using Coarray Fortran

Coarray Fortran support parallel programming using a Single Program Multiple Data (SPMD) model and supports both shared memory and distributed memory in a single method.

In this tutorial, you will be introduced to compiling sample code that contains a coarray and control the number of processes in the application.

Using Intel® Math Kernel Library for Matrix Multiplication

Intel® Math Kernel Library (Intel MKL) implements many types of operations for performing math computations.

In this tutorial, you will use Intel MKL to multiply matrices, measure the performance of matrix multiplication, and control threading.


Find Composer XE Documentation

You can find documentation on the following:

Intel® Fortran Compiler XE 13.1 User and Reference Guides

This document shows you how to compile your application, optimize your application by using optimization tools and other libraries, use compiler options, and understand heterogeneous programming support in the compiler. This document also has a Fortran language reference.

The Intel® Fortran Compiler includes man page information. You can view the man page information by first setting the environment variables, as described in Set the Environment Variables, and then typing man ifort in a terminal session.

The compiler documentation also includes man pages detailing the code coverage tool (man codecov_f) and test prioritization tool (man tselect_f).

Read a summary of compiler options from the command line by invoking the compiler with the -help option.

Intel® Math Kernel Library Documentation

These documents contain the user guide for a library with optimized and scalable math functions and subroutines. You can use these functions and subroutines to create applications with maximum performance and seamlessly provide forward scaling from current to future many-core platforms.

Intel® Debugger Documentation This document contains the user guide for the Intel® debugger that you can use to debug your code.

Release Notes

This document contains the most up-to-date information about the product:

  • Known issues and limitations

  • System requirements for installing the product

  • Technical support

Included Samples

This document contains a list of sample projects for use with the compiler. The samples illustrate compiler optimizations, features, tools, and programming concepts.

Additional Learning Resources

Internet site with additional resources to help you use this product. To search for additional learning resources on other Intel® software products, go to the Intel® Learning Lab.

Intel® Software Documentation Library

Internet site with documentation for other Intel software products.


Disclaimer and Legal Information

INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.

A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death. SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS PARTS.

Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information.

The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or by visiting Intel's Web Site.

Intel processor numbers are not a measure of performance. Processor numbers differentiate features within each processor family, not across different processor families. See http://www.intel.com/products/processor_number for details.

Intel, Intel Atom, and Intel Core are trademarks of Intel Corporation in the U.S. and/or other countries.

* Other names and brands may be claimed as the property of others.

Java is a registered trademark of Oracle and/or its affiliates.

Copyright © 2013, Intel Corporation. All rights reserved.

Document number: 326977-001US