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

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(R) Visual Fortran Compiler XE 15.0.0.070  Cause: When using NOVECTOR directive in code, the vectorization report generated using Visual Fortran Compiler's optimization and vectorization report options ( -O2 -Qopt-report:2) includes non-vectorized loop instance.  Example:...
Diagnostic 15304: non-vectorizable loop instance
By Devorah H. (Intel)Posted 10/02/20140
Product Version: Intel(R) Visual Fortran Compiler XE 15.0.0.070   Cause: The vectorization report generated using Visual Fortran Compiler's optimization and vectorization report options (-Qvec-report2 -O2) includes non-vectorized loop instance when using the following compiler option (Win OS): ...
Mapping of Intel® MPI Library versions to bundle suites
By Gergana Slavova (Intel)Posted 08/28/20140
Introduction: Mapping the Intel® MPI Library numbers to specific suites and update versions Intel® Parallel Studio XE 2015 Update 1 Cluster Edition (released 26 November 2014) Intel® MPI Library 5.0 Intel® Registration Center Activation Date (yr.mo.day) Windows Version / build Linu...
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


Webinar May 13 - What's New in Intel Fortran 16.0
By Steve Lionel (Intel)8
Wed, May 13, 2015 12:00 PM - 1:00 PM EDT This session will cover new features in the Intel® Fortran compiler version 16, part of Intel® Parallel Studio XE 2016. Topics include new features from Fortran standards, new OpenMP* features and changes for users of Microsoft Visual Studio*. Register here This session will be recorded and the recording made available sometime afterward.
Mixing redistributables from multiple compiler versions on same machine
By Nikita Tropin2
Hello, I have an application that was built with Intel Fortran 14.0 and I'm trying to run it on client workstation where Intel Fortran is not installed. So I've installed Intel Fortran 14.0 redistributable package there but application doesn't work. After research with Dependency Walker I found that this workstation also have Intel Fortran 11.1 redistributables installed, and my application is trying to use the wrong library from old version. Of course the simple solution is to uninstall 11.1 redistributables, but what if the user needs them for some other apps? Is it possible to make my application use correct libraries from new paths? The library in question is LIBIFCOREMD.DLL 11.1 libs are here: C:\Program Files (x86)\Common Files\Intel\shared files\fortran\Bin\ia32 14.0 libs are here:  C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\ia32\compiler I also have 2 environment variables: INTEL_DEV_REDIST = C:\Program Files (x86)\Common Files\Intel\Shared Libraries...
Fortran source pretty printer/refactoring tool
By rase5
When I switched to IVF/F90/F95 many years ago I used the plusFORT tool from Polyhedron to modernize the hundreds of source files in my Fortran projects saving me a lot of time and effort.Today I tried to use plusFORT again, but the program told me that my license is no longer valid. I wonder if there is free pretty printer/refactoring tool for Fortran available which might include support for the more recent standards. Any suggestions?
First Derivative
By Nazmul I.16
Hi, I have some data (z,h) which reprents sinusoidal curve. Now, I would like to calculate first derivative dh/dz at each point (z,h). I am using Intel Fortran Compiler with IMSL. Can you please help me in this regard? Cheers
Multiple versions of fortran and MS visual studio
By Timothy H.5
Hi, I'm writing some fortran subroutines and linking them to a commercial code. The code is in the form of a library, and it was compiled with intel fortran  parallel studio XE 2013, with MS Visual Studio 2010. I set up MS Visual Studio 2013 (with the added SDK) and I got an evaluation version of Intel Parallel Studio XE 2015 Composer Edition for Fortran Windows.  I got that to install and compiled the fortran files, and when I try to link everything up into an executable (using a makefile and MS incremental linker version 12.00.21005.1) ) I get the following: LINK : Fatal error LNK1104: cannot open file 'LIBCMT.lib' NMAKE :  Fatal error U1077:  'ifort' : return code '0x450' I've tried tracking down the directories for the libraries and adding them to the LIB environment variable, but wound up with conflicts. The vendor of the commercial code is not inclined to re-compile with the newer versions, so I've re-installed MS Visual Studio 2010 and I want to install the 2013 version of th...
ICE in select type with class(*)
By Wolf W.1
The code below produces an internal compiler error, if the /debug:full option is enabled. program main implicit none real :: foo(2,2) foo = 1.0 call testSub(foo) contains subroutine testSub(matrix) class(*), intent(inout) :: matrix(:,:) ! << This works ! class(*), intent(inout) :: matrix(2,2) ! << This fails select type(local => matrix) type is (real) end select end subroutine testSub end program  Compiler: Intel(R) Visual Fortran Compiler XE 15.0 Update 2 for Windows
Problem with an unresolved symbol _for__rtc_uninit_src
By arjenmarkus3
Hello, for one of our program suites I keep getting a bizarre link error, which my colleagues do not experience. The message is: error LNK2001: unresolved external symbol _for__rtc_uninit_use_src    By the looks of it and from checking the sources (we do not have a routine of that name) I guess that this is a routine that should be in the runtime libraries. So, my question is: how can I solve this? For your information: I am using Visual Studio 2010 The version of the Intel Fortran compiler is Intel® Parallel Studio XE 2015 Composer Edition for Fortran Windows* Update 1 Integration for Microsoft Visual Studio* 2010, Version 15.0.0115.2010      
Is this is bug? Error: Invalid signal or error
By billpeace3
Program Test     implicit none   INTEGER, PARAMETER :: dble = SELECTED_REAL_KIND(P=10,R=50)   INTEGER, PARAMETER :: sngl = SELECTED_REAL_KIND(P=5)   REAL (KIND = dble), ALLOCATABLE, DIMENSION(:), TARGET  ::  wk3 , wk10,rsb0   REAL (KIND = dble), DIMENSION(:), POINTER :: cpmu,rhocp,rsn    INTEGER  err    INTEGER  mswk10,mswk3,mst,ncomp,mstart    integer m221,mrrb,msn,m     REAL (KIND=dble)::result11       mswk10=20352600       mswk3=70480200       mst=6784000       ncomp=2       mstart=1      ALLOCATE(wk10(mswk10),wk3 (mswk3 ), STAT = err )      ALLOCATE (rsb0(mst*ncomp), STAT = err )             rhocp    => wk10(1:mst)         cpmu     => wk3(1:mst)         rsn      => rsb0( mstart:mst*ncomp )        m221=37        mrrb=mst-200        msn=0        cpmu=10104414.9170140        rsn=1.138435243319734D-003        rhocp(m221:mrrb) = rhocp(m221:mrrb) + cpmu(m221:mrrb)*rsn(m221+msn:mrrb+msn)        !DO m = m221, mrrb        !    rhocp(m) = rhocp(m) + cpmu(...
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


Webinar May 13 - What's New in Intel Fortran 16.0
By Steve Lionel (Intel)0
Wed, May 13, 2015 12:00 PM - 1:00 PM EDT This session will cover new features in the Intel® Fortran compiler version 16, part of Intel® Parallel Studio XE 2016. Topics include new features from Fortran standards, new OpenMP* features and changes for users of Microsoft Visual Studio*. Register here This session will be recorded and the recording made available sometime afterward.
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/
Overriding type-bound procedures
By Ewan T.7
Hi there, I am trying to make best use of Fortran's OOP features and I have a question regarding the overriding of type-bound procedures. Is there a way in which I can define a type-bound procedure that can be overridden in child objects (objects which extend the base class) and have different dummy arguments? At the moment I can override type-bound procedures but I have to have exactly the same number and type of dummy arguments. I had been thinking about generic procedures, but I couldn't figure out to tackle the problem. Thanks, Ewan
ifort real*4 count bug
By 志强 赵.2
Recently, I wrote a piece of codes, like that below. The value of num is larger than the range of integer 32. The result of the tmp should be 2. But in that code, the program gave 0. No matter if use ifort 13.0.0 or 15.0.0. If I change the tmp from real*4 to real*8, the result is correct. Ang idea? integer*8,parameter :: num = 2500000000 integer*8 :: i real*4,dimension(:),allocatable :: a real*4 :: tmp allocate(a(num)) a = 0.0e0 do i = 1, num if(i.eq.1) then a(1) = 1.0e0 else if(mod(i, 2).eq.0) then a(i) = 1.0e0 else a(i) = -1.0e0 end if end do tmp = 0.0e0 do i = 1, num tmp = tmp + a(i) end do print*, tmp end  
compile ifort source code in different folder
By diedro4
Dear all, I would like to compile a fortran code with ifort. The source code files *.f90 are in different sub-folders. how can I do? Thanks    
Calling Java from Fortran using JNI
By Chaitra R.0
Hello, I have a program to call Fortran from Java. The codes for func.f95, addC.c, and addJava.java are as follows: FUNCTION add(c, iflag) RESULT(f) INTEGER, INTENT(IN):: c INTEGER, INTENT(OUT):: iflag INTEGER:: f INTEGER:: i i=10 f=c+i PRINT *, f PRINT *, iflag END FUNCTION #include <stdio.h> #include "addJava.h" extern int add(int *, int *); JNIEXPORT jint JNICALL Java_addJava_add(JNIEnv *env, jobject obj, jint c, jint iflag) { int result; printf("-- We are now in the C program CCode --\n"); printf("c=%d, iflag=%d\n",c,iflag); printf("Call the FORTRAN code\n"); result = add(&c,&iflag); printf("-- We have now returned back to the C program --\n"); printf("c=%d, iflag=%d\n",c,iflag); printf("Result = %d\n",result); return result; } import java.io.*; import java.lang.*; import com.sun.jna.Library; import com.sun.jna.Native; import com.sun.jna.Platform; import com.sun.jna.ptr.IntByReference; clas...
Subscribe to Forums