Intel® Fortran Compilers

Performance without compromise on Windows*, Linux* and OS X*

  • Broad support for current and previous Fortran standards, plus popular extensions
  • Intel® Math Kernel Library included in suites
  • Optional Rogue Wave* IMSL* Fortran Numerical Library on Windows

Try & Buy Intel® Fortran Compiler in:

Intel® Parallel Studio XE

A complete Fortran development environment for Windows*

  • Works with Microsoft* Visual Studio* 2010, 2012 and 2013
  • Don't have Visual Studio? No problem - a Fortran development environment based on Microsoft Visual Studio 2010 Shell is included - nothing else to buy!
  • Develop, build, debug and run from the familiar Visual Studio IDE, or build and run from the command line - your choice!
  • 32-bit and 64-bit development included - no extra charge!
  • Create traditional console applications or advanced graphical interfaces with QuickWin, OpenGL* and Windows API support
  • COM (Component Object Model) and .NET interoperability provided
  • Build mixed-language applications with C++, Visual Basic*, Microsoft C# and more! (requires Microsoft Visual Studio)
  • Tens of thousands of declarations of routines, types and constants for Windows API, OpenGL, POSIX, dialogs, multi-byte character support and more!

Intel Fortran integration into Microsoft Visual Studio

  1. Fortran project and source files in Visual Studio
  2. Fortran-aware text editor with context-sensitive help, Go To Definition, templates, coloring and more
  3. Debug Fortran code with full access to Fortran types and arrays
  4. Build and debug mixed-language programs in a single Visual Studio solution
  5. Set breakpoints at Fortran source lines, with optional conditions


Broad support for current and previous Fortran standards, plus popular extensions

  • Full language Fortran 95, full Fortran 2003, plus significant Fortran 2008 features
    • Coarrays
    • DO CONCURRENT
    • 31 array dimensions (standard specifies 15)
    • NEWUNIT in OPEN
    • Much more - see release notes for details
  • Also supports FORTRAN IV (FORTRAN-66), FORTRAN 77 and Fortran 90
  • Extensive OpenMP 4.0* support
  • Source compatible with Compaq Visual Fortran* - most projects just need a rebuild

Performance without compromise

  • Industry leading performance on Intel and AMD* processors.  Take a look at the benchmarks below that were run by Polyhedron* for independent confirmation.


Geomean time in seconds - lower is better
As published 3/10/2014 at http://www.polyhedron.com

  • Extensive optimizations for the latest Intel processors, including Intel® Xeon Phi™ coprocessor
  • Take advantage of multicore, manycore and multiprocessor systems with OpenMP, automatic parallelism, DO CONCURRENT, coarrays and Intel Xeon Phi coprocessor support
  • Patented automatic CPU dispatch feature gets you code optimized for the current running processor

Intel® Math Kernel Library

  • Included in Fortran suites that adds advanced math processing
  • Vectorized and threaded for highest performance on all Intel and compatible processors
  • De facto standard APIs for simple code integration
  • Compatible with all C, C++ and Fortran compilers
  • Royalty-free, per developer licensing for low cost deployment
  • Click here for more information.

Rogue Wave* IMSL* 7 Fortran Numerical Library

  • Optional add-on to the suites that include Intel Visual Fortran compiler
  • Superior accuracy and reliability through 40 years of refinement
  • A comprehensive set of 1000+ algorithms
  • Supporting parallel processing architectures since 1990
  • Evolves easily with software and hardware upgrades
  • Click here for more information and pricing

Outstanding support

  • One year of support included with purchase – gives you access to all product updates and new versions released in the support period plus access to Intel® Premier Support
  • Active user forums for help from experienced users and Intel engineers

Works with your familiar development environment

  • Uses gcc tools, including gdb debugger
  • Link compatible with C and C++ from gcc
  • 32-bit and 64-bit compilers included – no extra charge!

Broad support for current and previous Fortran standards, plus popular extensions

  • Full language Fortran 95, Full Fortran 2003, plus significant Fortran 2008 features
    • Coarrays
    • DO CONCURRENT
    • 31 array dimensions (standard specifies 15)
    • NEWUNIT in OPEN
    • BLOCK
    • Much more - see release notes for details
  • Also supports FORTRAN IV (FORTRAN-66), FORTRAN 77 and Fortran 90
  • Extensive OpenMP 4.0* support

Performance without compromise

  • Industry leading performance on Intel and AMD processors. Take a look at the benchmarks below that were run by Polyhedron for independent confirmation.


Geomean time in seconds - lower is better
As published 3/10/2014 at http://www.polyhedron.com

  • Extensive optimizations for the latest Intel processors including Intel® Xeon Phi™ coprocessor
  • Take advantage of multicore, manycore and multiprocessor systems with OpenMP, automatic parallelism, DO CONCURRENT, coarrays and Intel Xeon Phi coprocessor support
  • Patented automatic CPU dispatch feature gets you code optimized for the current running processor

Intel® Math Kernel Library

  • Included in Fortran suites that adds advanced math processing
  • Vectorized and threaded for highest performance on all Intel and compatible processors
  • De facto standard APIs for simple code integration
  • Compatible with all C, C++ and Fortran compilers
  • Royalty-free, per developer licensing for low cost deployment
  • Click here for more information

Outstanding support

  • One year of support included with purchase – gives you access to all product updates and new versions released in the support period plus access to Intel® Premier Support
  • Active user forums for help from experienced users and Intel engineers

Works with your familiar development environment

  • Build from command line or use Xcode integration (limited feature)
  • Link compatible with C and C++ from gcc
  • 32-bit and 64-bit compilers included – no extra charge!

Broad support for current and previous Fortran standards, plus popular extensions

  • Full language Fortran 95, full Fortran 2003, plus significant Fortran 2008 features
    • DO CONCURRENT
    • 31 array dimensions (standard specifies 15)
    • NEWUNIT in OPEN
    • BLOCK
    • Much more - see release notes for details
  • Also supports FORTRAN IV (FORTRAN-66), FORTRAN 77 and Fortran 90
  • Extensive OpenMP 4.0* support

Performance without compromise

  • Industry leading performance
  • Extensive optimizations for the latest Intel processors
  • Take advantage of multicore, manycore and multiprocessor systems with OpenMP, automatic parallelism, DO CONCURRENT
  • Patented automatic CPU dispatch feature gets you code optimized for the current running processor

Intel® Math Kernel Library

  • Vectorized and threaded for highest performance on all Intel and compatible processors
  • De facto standard APIs for simple code integration
  • Compatible with all C, C++ and Fortran compilers
  • Royalty-free, per developer licensing for low cost deployment
  • Included in Intel® Fortran Composer XE
  • Click here for more information

Outstanding support

  • One year of support included with purchase – gives you access to all product updates and new versions released in the support period plus access to Intel® Premier Support
  • Active user forums for help from experienced users and Intel engineers

Videos to help you get started.

  • Introduction to Intel® Visual Fortran in the Microsoft* Visual Studio* Development Environment
  • Optimizing your application with Intel® C++ and Fortran Compilers for Windows* and Linux*

Register for future Webinars


Previously recorded Webinars:

  • Update Now: What’s New in Intel® Compilers and Libraries
  • An Introduction to Intel® Visual Fortran Development on Intel® Xeon Phi™ coprocessor
  • OpenMP 4.0 for SIMD and Affinity Features with Intel® Xeon® Processors and Intel® Xeon Phi™ Coprocessor
  • Learn to be an Intel® Visual Fortran Power User
  • Optimizing and Compilation for Intel® Xeon Phi™ Coprocessor

More Tech Articles

Intel® Parallel Studio XE 2015 Composer Edition on Linux*
By adminPosted 04/14/20150
Product tour with videos and samples Learn when and how to use the Intel Parallel Studio XE components in a typical software development workflow. You can apply the principles learned to your own application: Identify the performance hotspots in your application Leverage performance libraries ...
What are PEEL and REMAINDER loops? (Fortran and C vectorization support)
By Martyn Corden (Intel)Posted 10/28/20140
The vectorization component of the optimization report produced by the Intel® Compiler version 15 may contain remarks such as: <Peeled> remark #15301: PEEL LOOP WAS VECTORIZED <Remainder> remark #15301: REMAINDER LOOP WAS VECTORIZED The compiler does its best to create an effi...
Diagnostic 15319: Using NOVECTOR directive
By Devorah H. (Intel)Posted 10/02/20140
Product Version:  Intel® Fortran Compiler 15.0 and above Cause: When using NOVECTOR directive in code, the vectorization report generated using Intel® Fortran Compiler's optimization and vectorization report options includes non-vectorized loop instance: Windows OS:  /O2  /Qopt-report:2      L...
Diagnostic 15304: non-vectorizable loop instance
By Devorah H. (Intel)Posted 10/02/20140
Product Version: Intel® Fortran Compiler 15.0 and above  Cause: The vectorization report generated using Intel® Fortran Compiler's optimization and vectorization report options: Win OS:  /O2  /Qvec-report:2    Linux OS and OS X:  -O2  -vec-report2 includes non-vectorized loop instance when us...
Subscribe to Intel Developer Zone Articles

Supplemental Documentation

Intel® MKL Sparse BLAS Overview
By Naveen Gv (Intel)Posted 06/25/20120
Sparse BLAS routines can be useful to implement iterative methods for solving large sparse systems of equations or eigenvalue problems
Intel Guide for Developing Multithreaded Applications
By adminPosted 01/16/201224
The Intel® Guide for Developing Multithreaded Applications covers topics ranging from general advice applicable to any multithreading method to usage guidelines for Intel® software products to API-specific issues.
Subscribe to Intel Developer Zone Articles

You can reply to any of the forum topics below by clicking on the title. Please do not include private information such as your email address or product serial number in your posts. If you need to share private information with an Intel employee, they can start a private thread for you.

New topic    Search within this forum     Subscribe to this forum


Intel Parallel Studio XE 2016 Beta has Started!
By Steve Lionel (Intel)4
The beta test for Intel Parallel Studio XE 2016, including Intel Fortran Compiler XE 16.0, has begun. For more details, a FAQ and a registration link, see Intel® Parallel Studio XE 2016 Beta Major Fortran features supported in this release are: Submodules from Fortran 2008 IMPURE ELEMENTAL from Fortran 2008 "Further Interoperability with C" features from TS29113 (Fortran 2015 draft) For more details see the release notes. Please use Intel Premier Support for any problems you encounter, rather than this forum. If you have questions about Fortran language features, you can ask them in this forum. Please note that the compiler in the initial beta version was built a couple of weeks ago and doesn't include all of the fixes you may have seen described as "fixed in a release later this year". The remainder of this post will be kept updated on "things you should know" about the beta. The current beta includes VS2010 Shell. A beta update will include VS2013 Shell instead. VS2010 Shell wi...
IOSTAT 30 problems
By sgeard@cad-schroer.co.uk1
Is it possible to analyze the cause of IOSTAT=30 errors from an open statement? We have inquire(file=zfile,exist=file_exists,opened=file_open, number=u, & action=action) OPEN(NEWUNIT=IUNIT, ACCESS='SEQUENTIAL',ERR=999,FILE=ZFILE, & FORM='FORMATTED',IOSTAT=IOSTAT,STATUS='REPLACE',iomsg=msg) which gets executed many times, with the parameters in the inquire statement always being returned as .true.,.false.,-1,'UNDEFINED' However at the end of an analysis step when the routine containing this code is executed the iostat error is set to 30. Subsequent calls to open other files in the same directory then fail in the same way. The iomsg just says 'open failure' (along with the file name and unit number) so that isn't very helpful. I'm fairly sure the problem must be in the code called prior to this but I've no idea how to proceed. Is there a way of finding out what the particular problem is that has caused this error? Thanks.
Wavelet Transforms
By Cyril N.1
Hello,   I am trying to get an algorithm for Wavelet transforms, ideally that computes the Daubechies 6 coefficients for image pocessing purposes. I was looking to see if there was any online code or any free library you guys are familiar with that computes such coefficients.    Your prompt response is very appreciated!   Best, Cyril
First statement in file a continuation character
By Daniel E.2
I need to have my subroutine INCLUDE several files that build up a statement. Here's some code: ASSOCIATE( INCLUDE 'afile'      x  VAR2 => STRUCT%VAR2)The included file contains      x  VAR1 => STRUCT%VAR1,If the compiler would just include the file like a text replacement, the statement would compile, but I get the error: "First statement in file must not be continued."  That's the lowercase "x." I really need to structure the subroutine in this way.  Is there a compiler switch to help me? P.S.  Before you suggest a free-format file, can I tell the compiler to accept "C" in the first column as a comment line and any character in the sixth column as a continuation? I'm trying to re-use thousands of lines of code.
!dir$ loop count vs !dir$ parallel
By Kim Frankcombe6
I'm working through my old code to improve its performance and running GAP. The reports often suggest I add !dir$ loop count min(XXX) to the code. Although I reckon that more often than not the loop count will exceed XXX, I cant guarantee it. I have therefore added IF loops to the code along the lines of the following example Assume A and B are vectors of the same size   IF (SIZE(A) > 255) !DIR$ LOOP COUNT MIN(256)     B=A   ELSE     B=A   END IF This strikes me as pretty ugly and will have a small performance penalty as the IF loop is tested. Alternately I could write !DIR$ PARALLEL ALWAYS   B=A Is there a better way and which approach to coding is considered the best? Will the computation provide the wrong answer if I set loop count min  and at run time there are less iterations to do or will it just be inefficient? Cheers Kim
Problem installing XE 2015 - Intel.Misc.Utilities
By Mike K3
I have a problem with VS 2010 Win7 when installing w_fcompxe_2015.4.221.  After installation I cannot open any VS dialog.  Instead I get the following error message. "Could not load file or assembly 'Intel.Misc.Utilities, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f4875dd4c8d7762f' or one of its dependencies.  The system cannot find the file specified." I've tried removing XE 2015 and re-installing, repairing VS and checking to see that I have the latest MS updates.  This did not help. I finally removed XE 2015 and re-installed XE 2013 with w_fcompxe_2013_sp1.5.239, and that solved the problem. Mike
Visual debugging of #define variable
By Daniel E.1
I have a line like this: STRUCT(2)%VAR = 1 I use fpp to make the code a little more readable with #define VAR  STRUCT(2)%VAR and now the code is VAR = 1 The preprocessor expands this to the full line and everything works fine. However, when I am debugging, I can no longer hold the cursor over "VAR" and see the value in a popup, nor can I put "VAR" in a watch window.  Is there a way to have the debugger know about expanding "VAR" like the preprocessor does?
LNK2001: unresolved external symbol XE 2015 in GENMOD
By Kim Frankcombe4
I recently upgraded from XE 2013 SP1 to XE 2015 (15.0.22) and with no changes to the code am getting LNK2001: unresolved external symbol errors from the Interface modules automatically generated by the compiler when using the -warn:all switch. Hopefully attached is a code snippet showing the problem along with a batch file to compile with from the 64 bit command line. The problem is relatively simple. My main program IPProc calls S/R AVERAGEIP PROGRAM IPPROC IMPLICIT NONE CALL AVERAGEIP() END AVERAGEIP contains a S/R AVERMED which dimensions an array using a variable declared in AVERAGEIP SUBROUTINE AVERAGEIP() IMPLICIT NONE INTEGER :: NRPTS RETURN CONTAINS ! even though this S/R is no longer called if I remove it the link error disapears   SUBROUTINE AVERMED()   REAL, DIMENSION(NRPTS) :: ZVEC   ZVEC = 0   RETURN   END SUBROUTINE AVERMED END SUBROUTINE AVERAGEIP The integer NRPTS is local to AVERAGEIP yet when I compile with-check:all -debug:full -traceback -warn:all I...
Subscribe to Forums

You can reply to any of the forum topics below by clicking on the title. Please do not include private information such as your email address or product serial number in your posts. If you need to share private information with an Intel employee, they can start a private thread for you.

New topic    Search within this forum     Subscribe to this forum


Intel Parallel Studio XE 2016 Beta has Started!
By Steve Lionel (Intel)4
The beta test for Intel Parallel Studio XE 2016, including Intel Fortran Compiler XE 16.0, has begun. For more details, a FAQ and a registration link, see Intel® Parallel Studio XE 2016 Beta Major Fortran features supported in this release are: Submodules from Fortran 2008 IMPURE ELEMENTAL from Fortran 2008 "Further Interoperability with C" features from TS29113 (Fortran 2015 draft) For more details see the release notes. Please use Intel Premier Support for any problems you encounter, rather than this forum. If you have questions about Fortran language features, you can ask them in this forum. Please note that the compiler in the initial beta version was built a couple of weeks ago and doesn't include all of the fixes you may have seen described as "fixed in a release later this year". The remainder of this post will be kept updated on "things you should know" about the beta.
OS X 10.9 Xcode 5 error ld: library not found for -lcrt1.10.6.o
By Ronald W Green (Intel)0
Environment:  OS X 10.9 (Mavericks) and Xcode 5.0 Command line compilations/links fail with "ld: library not found for -lcrt1.10.6.o" Affected compiler:  Intel Composer XE 2013 Update 1 Root cause:  Xcode 5.0 installation does not install all command line tools (include files, libraries, SDKs) need for the compiler to link user applications.  FIX: Install the Xcode 5.0 "Command Line Tools".  Follow this Knowledge Base article for installation of this package:  http://software.intel.com/en-us/articles/installing-intel-compilers-for-os-x-pre-requisite-xcode-command-line-tools
Compiler Installation and Uninstallation Help, Linux and Mac OS
By Ronald W Green (Intel)7
  Installing the Intel compilers on Linux* and Mac OS* X requires that you install various prerequisite packages. Linux: Read this Help on Installing the Intel Compilers. Mac OS X: Read this article on Xcode and Command Line tools installation (prerequisite for installation and use) We also have an article on Linux Silent or Non-Interactive Installation Here And Mac OS X Silent or Non-Interactive Installation Here Having trouble REMOVING or UNINSTALLING the Intel Linux compilers?  Read this article: http://software.intel.com/en-us/articles/uninstall-intel-compiler-for-linux-when-uninstallsh-is-missing-or-not-functioning NOTE: ARTICLES such as this are not monitored on a regular basis - do NOT ask questions here, your quesiton may go unnoticed.  Please post all questions to the USER FORUM
ld: cannot find -lm
By Ronald W Green (Intel)1
RHEL 6.x, FC14, FC13, FC12, SL6.x, CentOS 6, etc. and possibly other recent distributions: error when using -static or -fast: ld: cannot find -lm See this article: http://software.intel.com/en-us/articles/error-ld-cannot-find-lm/
Fortran Wavelet Transforms
By Cyril N.1
Hey guys,   I am trying to find some online library or code that computes Daubechies wavelet coefficients, for image processing purposes (horizontal, vertical and diagonal detail coefficients). Is there any algorithm you are aware of or have used in the past?   Thank you! Cyril Nader 
FORTRAN: Opening and reading data from a network location
By Muhammad N.3
I am trying to run a simulation using FORTRAN. I have large input data at server A and I want to read input files from server A and run my simulation on server B. I am using a FORTRAN subroutine to assign input into a BCs array. I want to read input file from server A via FTP and assign them into BCs array on server B. I will be grateful if you can suggest me some ways to do so. Thanks The code I have tried so far is as follows but it gives error. FILENAME="//192.255.8.152/home5/nadeem/inflow/Inflow_001" OPEN(81,FILE=FILENAME,FORM='UNFORMATTED',STATUS='OLD') READ (81)((UBC3(1,J,K),J=1,N2M),K=1,N3M) ! INLET BOUNDARY CLOSE(81)
cannot find 'ifort' after installing parallel_studio_xe_2015_update3 on ubuntu
By Weikang D.2
I am an university student. I have just downloaded and installed the parallel_studio_xe_2015_update3. But in the directory '/opt/intel/composer_xe_2015/bin', I only find 'icc', but not 'ifort'. Have I installed the wrong file? According to the website, the parallel studio should contain both C and Fortran in it. Or am I looking at the wrong directory? I have checked several places but still cannot find 'ifort'. Please help with this. Thank you very much!  BTW, my operation system is 'ubuntukylin-14.04.2-desktop-amd64' and I am pretty new to Linux.
Coarray implementation of QR decomposition?
By opmkl0
I am wondering if there exists a coarray implementation of the QR decomposition somewhere, in library or source form. We are probably years away from a true coarray implementation of LAPACK, for instance, but in the meantime I am wondering if there is anything to play with. Thanks for any tips/pointers there!
Subscribe to Forums