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

Featured Articles

No Content Found

More Tech Articles

No Content Found
Subscribe to Intel Developer Zone Articles

Supplemental Documentation

No Content Found
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


Q about debugging difficulty
By billsincl25
I am debugging a program, and I get a breakpoint, apparently because of an out-of-range subscript. Anyway, when I open the relevant subroutine, isn't it supposed to SHOW me where the breakpoint occurred? (It is mentioned in the OUTPUT pane.) but it doesn't show me where in the CODE listing. I also wanted to put the cursor on some variables that would show me their contents so I can track down why it occurred. But I don't get anything regarding what is stored in any of them. I was hoping I would not have to insert a bunch of PRINT statements, and run it again, but the debugger will not reveal what I need to look at. any reason why this might be happening? Sometimes it works, but it fails when i have a routine with a lot of source lines in it.
Fortran 14.1 command prompt redefining environment variable COMMONPROGRAMFILES
By Greg S.3
Has anyone noticed an issue with the intel 14.1 command prompt (either 32 or 64 bit) and having the COMMONPROGRAMFILES environment variable changed from the windows default (C:\Program Files\Common Files) to C:\Program Files (x86)\Common Files?  If a try to run some other software that uses the default environment variable from the intel prompt it does not function and I must switch to another prompt that does not support the fortran.  So on my system I have the following set by default >echo %COMMONPROGRAMFILES% C:\Program Files\Common Files >echo %COMMONPROGRAMFILES(X86)% C:\Program Files (x86)\Common Files But, while on the intel prompt it changes it to  >echo %COMMONPROGRAMFILES% C:\Program Files (x86)\Common Files >echo %COMMONPROGRAMFILES(X86)% C:\Program Files (x86)\Common Files Is this correct or is there something wrong with my install?  Is there a work around?  Any help would be appreciated.  I would like to return to the times when I had a single command p...
RANDOM_NUMBER, RANDOM_SEED dependencies?
By slett7
I am observing some unexpected behavior  from RANDOM_NUMBER.   I am getting differences between sequences generated by RANDOM_NUMBER after using RANDOM_SEED to set the seed.   I am writing to see if anyone can confirm or deny that Intel RANDOM_NUMBER sequences only depend upon calls to either RANDOM_NUMBER or RANDOM_SEED, and there is no dependency,  either on other Fortran routines or C/C++/C# libraries? Regards, Scott
error PRJ0019: A tool returned an error code
By Jian Jun Z.2
HELP!!!!!! During the compilation of a project named 'last-one',an error has occurred.Here is the error information: Build started: Project: last-one, Configuration: Debug|Win32  Output  Compiling with Intel(R) Visual Fortran Compiler XE 14.0.1.139 [IA-32]...  ifort /nologo /debug:full /Od /warn:interfaces /module:"Debug\\" /object:"Debug\\" /traceback /check:bounds /check:stack /libs:static /threads /dbglibs /c /Qvc12 /Qlocation,link,"E:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\\bin" "E:\Users\hades\Desktop\rtrete\last - noincrease\last\newmark.f90"  last-one : error PRJ0019: A tool returned an error code  last-one - 1 error(s), 0 warning(s) Is there anyone can help me??? I would really appreciate it.
Find All References causes Visual Studio to become unresponsive
By Nathan K.1
When I right click a Fortran subroutine and choose "Find All References" from the context menu, Visual Studio becomes unresponsive. I must use task manager to end Visual Studio's process. My solution is comprised of mixed languages C++\C\Fortran\.NET. Microsoft Visual Studio Premium 2013 Version 12.0.31101.00 Update 4 Microsoft .NET Framework Version 4.5.51209 Intel® Parallel Studio XE 2015 Composer Edition for Fortran Windows*     Package ID: w_fcompxe_2015.3.208 Intel® Parallel Studio XE 2015 Update 3 Composer Edition for Fortran Windows* Integration for Microsoft Visual Studio* 2013, Version 15.0.0121.12,  This issue seems similar to the locked topic 509022: https://software.intel.com/en-us/forums/topic/509022# It appears that this is known issue (I do not see a defect ID however).  Please correct this defect!  
Parameterized Derived Data Type Allocation Error
By Scott B.2
Hi all, the following is a simplified version of a code that I wrote that does not seem to work. For the larger code I just get a generic "compliation error" and then the compiler stops. I tracked that to where I am passing the parameterized derived data type into a subroutine with assumed parameters (eg TYPE (MYTYPE(*,*)),INTENT(INOUT):: TYP). I am not using kind numbers, so I it only contains portions that are defined with LEN in the data type.   Below is an example code that results in two different errors:   MODULE DT_INTERFACE IMPLICIT NONE ! TYPE MAT_TYP(N,M) INTEGER,LEN:: N,M REAL, DIMENSION(N,N)::A REAL, DIMENSION(N,M)::B REAL, DIMENSION(M,M)::C END TYPE ! TYPE MAT_GROUP TYPE (MAT_TYP(:,:)),ALLOCATABLE:: MAT END TYPE TYPE(MAT_GROUP), DIMENSION(:), ALLOCATABLE :: GRP CONTAINS ! THE FOLLOWING SUBROUTINE IF UNCOMMENTED CAUSE THE MAIN TO CRASH SAYING N AND M ARE ALREADY DEFINED ! S...
Redistributable Libraries and/or static compilation
By Gabriel Toro8
Hi, I need to send a co-worker the redistributable libraries for the latest Fortran compiler. Where can I find those (in my computer or on-line)? Also, does the recipient have to do anything else (move dll's to same directory as exe, define an environment variable)? As an alternative, is there an easy way to link everything statically? This is a simple Fortran console application that does not call any special numerical packages. Sorry if this has been asked before, but I could not find an up-to-date answers and the documentation has become too complicated for me (and/or I am getting old). Thanks, Gabriel
Calling a C function in Visual Studio from a Visual Fortran code
By J B.2
Hi, I have a Visual Studio 2012 installed on Windows 8.1. Also, I installed Visual Fortran. I want to create a solution with two projects one in Fortran and one in C, then be able to call C function from Fortran code. Can anyone, please, show a simple step by step example on how to achieve this in VS? Thanks.
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


allocatable result on (sub)module function
By zp35
Hi, Afaik, since F2003 it should be possible to assign an allocated function result to a deferred lhs. I've tried that on a module function lying in a submodule and it doesn't seem to work. My code looks like: !(Interface in module file) module function gst_il2p(lm,descn,sb) result(ind) implicit none integer(GST_IK), intent(in) :: lm(:,:), descn(4), sb integer(GST_IK), allocatable :: ind(:) end function gst_il2p program test_gst use gst   implicit none integer(GST_IK), allocatable :: ind(:) .... ind=gst_il2p(lm,int([0,50,200,4],GST_IK),1_GST_IK) write(*,*) ind(1) .... end program test_gstWhen writing ind(1) I get an access violation, because ind isn't allocated. Nevertheless, the program works perfectly when substituting allocatable with pointer: !(Interface in module file) module function gst_il2p(lm,descn,sb...
ifort environment variable
By Lester6
Hi Is there an environment variable (like __GFORTRAN__ for gfortran) that can be used to as a flag to the preprocessor so that it will preprocess part of the file when it is a fortran file and skip that part when it is a C or C++ file?  It would be valuable if it worked the same for Windows.  
historical question
By jayb5
I was recently explaining to a colleague why I chose Intel Fortran for a legacy application that will (assuming we receive the expected funding) undergo a modernization process.  I was missing one historical piece of information.  I know that Intel Fortran is descended from DEC Fortran.  But there is also an HP Fortran, which supports HP's proprietary operating systems, including (Open)VMS.  Was there a point at which a single compiler diverged into the two products we see today?  Is there still sharing of effort/code among the two companies? JayB  
Unknown option -xSSE4.2
By Seemanth M.9
Hi all, I am trying to compile a fortran code using ifort (version 10.1) in a linux machine (ia64) as follows ifort -c -O3 -xSSE4.2 -ip my_code.f90 and I am getting the following warning ifort: command line warning #10006: ignoring unknown option '-xSSE4.2'. Could anyone give me a hint to avoid this warning? (Although I could get the executable by compiling the code without the '-xSSE4.2' option, when I execute it, it stops with segmentation fault !!!) Seemanth
BBC Radio - Codes that Changed the World - Fortran
By Steve Lionel (Intel)0
A delightful program from BBC Radio on Fortran. Downloadable for the next three weeks: http://downloads.bbc.co.uk/podcasts/radio4/codes/r4codes_20150406-1400b.mp3
-heap-arrays flag - does it work?
By Mark Mackey4
Hi all. If I compile the following program with ifort -m32 -heap-arrays test.f the array in mytest2() is allocated on the heap, but the one in mytest() is not. According to the documentation, the -heap-arrays flag should put all automatic arrays on the heap. Am I misunderstanding the documentation? Is there a way to force the array in mytest to be allocated on the heap instead of on the stack or in static data? Regards, Mark program test implicit none integer i,mytest,mytest2 i=mytest() i=mytest2(100000) stop end function mytest implicit none integer mytest automatic bigarray integer bigarray(100000) integer i,j do i=1,100000 bigarray(i)=i enddo do i=1,100000 j=j+bigarray(i) enddo mytest=j return end function mytest2(isize) implicit none integer mytest2,isize ...
line break in formatted output
By may.ka6
Hi this code write(CSTmp,"(I0)") size(this%RVPEffSize) CSFormat="("//Trim(AdjustL(CSTmp))//"(1X,F20.10))" write(this%ISOutputUnitEff,CSFormat,iostat=ISSubStat,iomsg=CSMsg)& &(this%RVPEffSize(c1),c1=1,size(this%RVPEffSize))is supposed to write the content of "this%RVPEffSize" into a single line of the file. It does so until "size(this%RVPEffSize)" is 51422. For larger sizes, a new line is inserted. Is that intended or a bug or related to the operation system??? Thanks Karl ifort 14, ubuntu 14.04
Where is the compiler binary in composer XE 2015?
By eudoxos3
I downloaded the trial version of Composer XE 2015.1.133. The webpage said it also included fortran compiler. I am unable to locate ifp or ifort anywhere in the package. Am I overlooking something obvious? Or is the compiler called something else? Thanks for any hints.
Subscribe to Forums