Begin Using the Compiler and Performance Libraries

Intel® Parallel Studio XE 2015 Composer Edition for Fortran Linux* includes:

It allows you to compile Fortran source files on Linux* operating systems for Intel® 64 and IA-32 architectures. You can also use these tools to create applications targeting Intel® Many Integrated Core Architecture (Intel® MIC Architecture).

The product has tutorials with step-by-step instructions and sample code that you can compile into an application using the Intel compiler.

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 these tools, 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:

    • intel64: Compilers and libraries for Intel® 64 architectures only

    • ia32: Compilers and libraries for IA-32 architectures only

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


Start from the Command Line

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

  1. To invoke the Intel® Fortran Compiler 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.


Find Composer Edition Documentation

You can find documentation and samples using information in this table.

Fortran samples (installed) Lists the installed sample projects for use with the compiler. The samples illustrate compiler optimizations, features, tools, and programming concepts.

User and Reference Guide for Intel® Fortran Compiler

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

The Intel® Fortran Compiler includes man pages. You can view the compiler man page information by typing man ifort in a terminal session. The compiler documentation also includes man pages detailing the code coverage tool (man codecov), test prioritization tool (man tselect), and Intel® Fortran preprocessor (man fpp).

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.

Debugger Documentation These documents describe how to configure and use the debuggers supplied with this edition.

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

Intel® Software Documentation Library

This is the online documentation library for Intel software products.

Evaluation Guide Portal

This is the evaluation guide portal. You can download step-by-step guides.


Use the Tutorials

These tutorials work with the supplied sample code to demonstrate important features in this edition.

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.

Using the Intel® Xeon Phi™ Coprocessor

A system with the Intel® Xeon Phi™ coprocessor 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 based on the Intel® Xeon Phi™ products to complete this tutorial.


Disclaimer and Legal Information

By using this document, in addition to any agreements you have with Intel, you accept the terms set forth below.

You may not use or facilitate the use of this document in connection with any infringement or other legal analysis concerning Intel products described herein. You agree to grant Intel a non-exclusive, royalty-free license to any patent claim thereafter drafted which includes subject matter disclosed herein.

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 go to: http://www.intel.com/design/literature.htm.

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's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice. Notice revision #20110804

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.

Copyright © 2014, Intel Corporation. All rights reserved.