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


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.
Making DLLEXPORT functions visible from C++ DLL
By ovz1
I'm building a C++ DLL that links some Fortran static libraries. My environment is Visual Studio 2012 Intel(R) Visual Fortran Compiler XE 13.1.1.171 Fortran libraries export some functions e.g. logical function example_function() !DEC$ ATTRIBUTES DLLEXPORT :: example_function example_function = .true. return end When I build my C++ dll example_function does _NOT_ show up in the exports. If I add a call to this function from DllMain I get the symbol exported. What is the proper way to export Fortran functions in this configuration?   extern "C" SSSPM_EXPORT bool C_FORT_CONV example_function_(); BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { example_function_();    
Debugger watch window subscript out of range
By david c.2
I'm debugging a program which is set up to reference memory locations outside the range of the dimension of various variables. Program is compiled so subscripts are not checked for range, but when I use the debugger an try to look at the variable in a watch window, I always get a 'subscript out of range' when I use a subscript that I know gives me the location of the information I want to see. Is there any way to keep the watch window from checking on the subscript of a variable?
Visual Fortran Complier 2008 not working anymore on Windows 7 or 8
By Paolo Focardi14
Hello, I used to run Intel Visual Fortran v11.1 on a Windows 7 machine and everything was ok. I was making little Dos windows programs to post-process my data. I didn't use it for a while and eventually install it on a new Windows 7 machine. Now it won't run anymore, or rather when I try to run the executables it produces, Windows says that "is not a valid Win32 Application". Any idea what happened? Please help!  
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


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.
Integer overflow, ifort internal compiler error
By zmi0072
I am just playing with integer overflow in fortran compilers and have found that this simple "buggy" fortran code causes internal compiler error by ifort on each of the write instruction. Gfortran detects these overflows and shows some "Error: Arithmetic overflow" during compilation. program integer_overflow implicit none write(*,*) -(-2147483647-1) write(*,*) 2000000000 + 2000000000 write(*,*) -2147483647 - 2147483647 write(*,*) 46341 * 46341 write(*,*) (-2147483647-1) / -1 end program integer_overflowWith ifort (IFORT) 15.0.2 20150121 ifort intel_bug.f90 -o intel_bug.x intel_bug.f90: catastrophic error: **Internal compiler error: floating point exception signal raised**  
ifort v15.0.2 could not pass fortran_2003_iee_test
By Juncheng L.1
Hi all, I compiled this file with following commands: ifort fortran_2003_ieee_test.F And the error is: fortran_2003_ieee_test.F(39): error #6503: This keyword is invalid for this intrinsic procedure reference.   [UNIT]       CALL FLUSH (UNIT=6) ------------------^ compilation aborted for fortran_2003_ieee_test.F (code 1) Here's the code:       PROGRAM fortran_2003_test                USE , INTRINSIC :: IEEE_EXCEPTIONS       IMPLICIT NONE       TYPE bunch_of_stuff          INTEGER,POINTER,DIMENSION(:) :: i          REAL   ,POINTER,DIMENSION(:) :: x          LOGICAL,POINTER,DIMENSION(:) :: l       END TYPE bunch_of_stuff       TYPE outer_wrapper          TYPE(bunch_of_stuff), ALLOCATABLE, DIMENSION(:) :: ddt_things       END TYPE outer_wrapper       TYPE(outer_wrapper), DIMENSION(15) :: combo       REAL :: x , y , z       INTEGER :: return_code       CHARACTER (LEN=256) :: my_shell       x = 1.e+10       y = 1.e-10       z = x + y       ALLOCATE(combo(1)%ddt_things(10)) ...
ifort fails silently with nested TBP call
By Ramanathan V.2
Hello, I'm using: $ ifort --version ifort (IFORT) 15.0.0 20140723 Copyright (C) 1985-2014 Intel Corporation.  All rights reserved.The following Fortran code: module B_mod type :: t_B contains procedure, pass :: foo_B procedure, pass :: bar_B end type t_B interface subroutine foo_B(this) import :: t_B class(t_B) :: this end subroutine foo_B end interface interface subroutine bar_B(this) import :: t_B class(t_B) :: this end subroutine bar_B end interface end module B_mod module A_mod use B_mod, only : t_B type :: t_A type(t_B) :: b contains procedure, pass :: foo_A end type t_A interface subroutine foo_A(this) import :: t_A class(t_A) :: this end subroutine foo_A end interface end module A_mod program main use A_mod, only : t_A integer :: ierror type(t_A) :: a call a%foo_A() end program main subroutine foo_A(this) use A_mod, only : t_A class(t_...
Backspacing through segmented files instead of rewind
By Dan U.1
Hi, I am having some trouble trying to adapt some fortran code to BACKSPACE through unformatted segmented files. My code exists as a few separate programs, the first creates these very large, unformatted files, which are then read in by a second program. My first modification was to store these files as segmented, as I was having issues with reading in the data correctly on the next step. I'm not too clued up with the technicalities but my understanding was that the data I was writing (which is not fixed length) might have been exceeding the record length, leading to some gibberish data being into the second program. Having these files segmented appeared to fix this issue. My current issue though is something else. These files are very large and in my second program the records are read in, and the record data is then used for calculations. It is necessary for me to step back over records to reread them at certain points, and in these instances the desired record to be read is alway...
Subscribe to Forums