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

Контент не найден

More Tech Articles

Run-to-Run Reproducibility of Floating-Point Calculations for Applications on Intel® Xeon Phi™ Coprocessors (and Intel® Xeon® Processors)
- Martyn Corden (Intel)Опубликовано: 03/26/20130
The Issue If I rerun the identical program on the identical input data on an identical processor, will I get an identical result? Serial Code The only known source of variability in floating-point results for serial code is variations in data alignment that are triggered by changes in the exte...
Building NCAR Graphics* with the Intel® compilers
- AmandaS (Intel)Опубликовано: 01/30/20136
Introduction This guide is intended to help Intel® C++ Compiler and Intel® Fortran Compiler customers build the NCAR Graphics* library. NCAR Graphics is an open source library for drawing maps, graphs, and plots. More information about NCAR Graphics can be found at http://ngwww.ucar.edu Version i...
Optimize Financial Applications using Intel® Math Kernel Library
- Zhang Z (Intel)Опубликовано: 12/12/20120
Intel® Math Kernel Library (Intel® MKL) contains a wealth of highly optimized math functions that are fundamental to a wide variety of Financial Applications. Intel MKL uses Industry Standard interfaces and can be easily integrated into your current application framework. The Webinar provides an ...
Element-wise Alignment Requirements for Data Accesses to be ABI-Compliant on the Intel® MIC Architecture
- Rakesh Krishnaiyer (Intel)Опубликовано: 12/08/20120
  Compiler Methodology for Intel® MIC Architecture Unlike the IA-32 and Intel® 64 architectures, the Intel® MIC Architecture requires all data accesses to be properly aligned according to their size, otherwise the program may behave unpredictably. For example, an integer variable, which require...
Подписаться на Статьи Intel Developer Zone

Supplemental Documentation

Контент не найден
Подписаться на Статьи Intel Developer Zone

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 when using LCONF and L2ONF
- Nga N.13
Hello, I would like to ask for help. When running a program using LCONF and L2ONF, I encountered an ERROR: ERROR 5 FROM LCONF.  The equality constraints and the bounds on the variables are found to be inconsistent. I checked the program with Matlab and there was no feasible solution.  I use LCONF in a loop for 12 cases. It worked well with the first 8 cases and there was above ERROR with 9th case (I knew that this case does not have optimal solution). When encountering the ERROR, the program crashed and stopped working at case 9th. Hence, case 10th, 11th,12th will not be run. Would you please let me know how I can make the program keep working with case 10th, 11th, 12th without stopping because of ERROR of case 9th? Thank you so much.
help with older project - converting to new compilers
- wgrimes@cea-az.com2
Hi, Not sure where to post this....so starting here.  I have a solution that combines Intel FORTRAN with Visual studio, specifically some C and C++ code.  Last time I compiled, I used older versions...running on Virtual XP machine on my Win7 computer. I'm looking for help in migrating over to new system....really should not take more than a few hours (famous last words)....and I'm willing to pay for help.  Is there anyone out that that is interested or knows where I can find someone with Intel FORTRAN and Visual C experience?? Thanks. Wes wgrimes@cea-az.com
Bug(?) with elemental function and allocatable actual argument
- Wolf W.2
Hello! I am getting some odd results, when i try to use the allocatable return value of a function directly as an argument of another function. Is this behavior intendet, or is this usage of the elemental-keyword false? I use the 15.0.2 compiler. program main implicit none character(4) :: test_char = "Test" character(:), allocatable :: temp_alloc character(10) :: temp_fixed ! This should be the result ! 'Test\foo' write(*,*) test_char // "\" // foo() ! This is the result ! 'foo f .' write(*,*) concat(test_char, foo()) ! It works as intendet, when the result of 'foo' is stored in a variable temp_alloc = foo() write(*,*) concat(test_char, temp_alloc) temp_fixed = foo() write(*,*) concat(test_char, temp_fixed) contains function foo() character(:), allocatable :: foo foo = "foo" end function foo ! There are no problems without the 'elemental'-keyword elemental function concat(var1,var2) result(var_result) ch...
SafeArrayGetElement isn't getting anything
- Isaac V.1
Greetings, dear fellow developers! I have been doing some programming with mixed languages (VSTO, VBA for Excel(R) + Fortran) for almost 2 years and I hadn't needed to use Safe Arrays. Everything had worked well by just passing little arrays to my Fortran DLLs. However, this time I have been working on a big DLL that needs big multidimensional arrays, that was when I had to start using Safe Arrays... I started trying to re-write Mr. Lionel's Safe Arrays example just for practice (and to see if I am getting the idea)... But it's not working! My code is this SUBROUTINE elSeguro(refCp) !DEC$ ATTRIBUTES DLLEXPORT, STDCALL, DECORATE :: ELSEGURO !DEC$ ATTRIBUTES ALIAS : 'ELSEGURO' :: ELSEGURO !DEC$ ATTRIBUTES REFERENCE :: refCp USE ifcom IMPLICIT NONE !Parámetros INTEGER, PARAMETER :: DP = KIND(1.D0) !Punteros INTEGER(INT_PTR_KIND()),INTENT(INOUT) :: refCp TYPE li...
PDT in libraries
- Espen M.9
Hi I've been experimenting with parameterized derived types and got a question regarding building libraries with MODULEs containing PDTs; is it possible to distribute (compiled) libraries containing PDT? I guess it's trivial for PDTs with parameters of LEN type, but what about for KIND type parameters? their values have to be known at compile-time, right? I've read somewhere that in C++ templates are written in header files which are distributed in textual form or some intermediate/precompiled form along with libraries, and that the actual templated entities are instantiated when they are "USEd" in Fortran terms. (Luckily) Fortran doesn't have header files (AFAIK) but use MODULEs instead; in the case that the answer to the above question is negative, would it be possible to include some (processor dependent) code in a MODULE that makes it possible?
Trouble with CreateThread in release mode
- dboggs6
I have been using a program that incorporates code from an old CVF Samples program, PeakApp3, that uses a 2nd thread initiated with this: MODULE PEEKAPP_myversion USE DFMT : CONTAINS SUBROUTINE PeekStart : ThreadHandle = CreateThread (0,0,GetCharProc,%loc(unit,Create_suspended, thread_id) : It has been working fine, but I had always limited it to Debug build. When I try a release build, I get a compile error#6284 "There is no matching specific function for this generic function reference [CREATETHREAD]. There is also "error #7002 Error in opening the compiled module file. Check INCLUDE paths. [PEEKAPP_myversion]", but I had cured this (at least in Debug mode) by including the module .f90 file as part of the project in VS. Why does this cause trouble in Release but not in Debug? This is a Quickwin project, and the runtime library is /libs:qwin in both modes. Is the problem somehow related to single-thread vs. multi-thread libraries?
error stop and the debugger
- IanH5
A feature request - could the runtime code for error stop do something equivalent to IF (IsDebuggerPresent()) CALL DebugBreak()
Intel® Parallel Studio XE Cluster Edition Training
- Lewis L.0
Does anyone know of a company that provides software training for the Intel Parallel Studio XE Cluster Edition products? My company utilizes tthat software in our product development.  However, there is a recognized lack of expertise in the auxiliary Intel software (debugger, amplifer, vtunes, tbb, ipp, inspector, adivsor, ...).  I did come across a thread in the Intel Visual Fortran Compiler for Windows subgroup titled "Fortran Parallel Studio Training" where Rob asked about training for Parallel Studio and Fortran. Lionel seemed to say that Intel does not offer training in their software.  If Intel does not truly offer such training, does anyone know of a company that knows Intel's tools well enough to offer training in them?  To be clear, I am looking for training that provides in-depth familiarization and best practices for using the auxiliary software, not training in Fortran or C++.  Does anyone have experience with those companies?  Lewis
Подписаться на Форумы

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


change run time just for a line
- diedro20
Dear all, I wrote a very complex code. I mean a code with many subroutines and functions. I used to worked fine. Last few days I noticed that the code became very very slow. After that I noticed that this depends by a single line. If I comment this line the code became very fast again. To be more clear, this is a peace of may code: CALL PDEPositivity(status,QR) IF(status.LT.0) THEN QR = QQ(:,jp) ENDIF VL(1) = QL(2)/QL(1) VL(2) = QL(3)/QL(1) VR(1) = QR(2)/QR(1) VR(2) = QR(3)/QR(1) UU = 0.5d0*(VL+VR) ! VL=0.d0 VR=0.d0 UU=0.d0 VPL=0.d0 VPR=0.d0 ! FL = PDEflux(nVar,UU,QL(:)) ...
internal error: derived type containing parameterized derived type
- Nathan W.2
In my case, I have a standard derived type that contains a parameterized derived type. I am not certain that this is legal, but at any rate compiling gives an internal error. I have attached simplified source files which produce the error. The standard derived type is defined as follows: module type_one use type_two !contains parameterized derived type (two_type) implicit none type, public :: one_type type(two_type(3)) :: two contains final :: one_destructor end type one_type private contains subroutine one_destructor(self) type(one_type), intent(in) :: self end subroutine end module type_oneMac OS X 10.2.2 ifort (IFORT) 15.0.2 20150121
Cannot find ifort XE 15 in Xcode6.2
- Johnson Y.1
Hello, I've installed ifort 15 (and Xcode6.2 with command line tool) and have followed the instructions on https://software.intel.com/en-us/node/524635. to build a fortran file. When I'm suggested to add build rule and to select Intel® Fortran Compiler XE 15.0, I cannot find it under Using. I've tried to reinstall  Intel® Fortran Compiler XE 15.0 and restart Xcode but it still doesn't work.
Aggregate profiling data collected by -profile-functions in the compiler flag
- aketh t.0
Aggregate profiling data collected by -profile-functions in the compiler flag
Sourced allocation problems in 15.0.1
- Ferdinand T.5
Dear all, the 15.0.1 ifort compiler produces errors on the following snippets. Are these errors still present in 15.0.2 ? If someone can give advice, this would help me to decide whether I have to check / change all such "sourced allocation assignments" or just wait for our IT to upgrade the compiler. Snippet 1: Sourced allocation into polymorphic array Source is allocated function result program p implicit none type :: t logical :: is_not_empty ! seg. fault without end type class(t), dimension(:), allocatable :: a allocate(a, source=make_alloc()) print *, allocated(a) ! T print *, size(a) ! 0 (wrong) contains function make_alloc() result(a) type(t), dimension(:), allocatable :: a allocate(a(5)) print *, size(a) ! 5 end function end program  Snippet 2: Derived type t has polymorphic component Sourced allocation into array of type(t) fails program p implicit none type :: s logical :: is_not_empty end type type :: t ! CLASS is the problem here ...
fp-model and other arguments
- ereisch5
I'm compiling a large program with the new 15.0.2 compiler, where we previously used 12.0.4.  Since we need to ensure our results are identical with the optimized and non-optimized version, we previously used the following compile arguments: -extend-source 132 -assume nounderscore -assume nobscc -align dcommons -static-libgcc -zero -fp-port -c -fpe0 -ftz -prec-div -fp-stack-check -ccdefault fortran -traceback -fp-model precise ...when compiling the non-optimized (debug) version, we added the following: -g -debug full -debug-parameters -check bounds -O0 ...and added in -O1 or -O2 for the nodebug/optimized version.  All was well in the world, and our results matched perfectly between both executables.  However, now that we're moving on to version 15, this is not so much the case anymore.  We're matching with the majority of our results, however some executions that involve multiple inter-communicating processes are no longer matching.  Our first hiccup was we had to change the "-fp-mo...
Can the dummy argument of a PURE subroutine with INTENT(OUT) attribute be unlimited polymorphic?
- FortranFan6
The following code compiles with no errors or warnings with the latest Intel Fortran compiler 2015, update 2 even with -stand compiler option: pure subroutine foo(val) class(*), allocatable, intent(out) :: val allocate(val, source=0.0) end subroutine foo but gfortran (GCC 5 development truck) throws an error: pure subroutine foo(val) 1 Error: INTENT(OUT) argument 'val' of pure procedure 'foo' at (1) may not be polymorphic   I fail to see anything in the standard about INTENT(OUT) and polymorphic dummy arguments and pure procedures.  Is gfortran misinterpreting the standard or is Intel Fortran incorrect to allow this? Thanks,  
no license sent with evaluation version
- Ben D.1
Hi, I just downloaded the evaluation version of the fortran compiler, but I didn't get the license that goes with it so I can't install it. Please can someone at Intel send it to me? Thanks, Ben
Подписаться на Форумы