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)
Par Martyn Corden (Intel)Publié le 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
Par Devorah H. (Intel)Publié le 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
Par Devorah H. (Intel)Publié le 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
Par Gergana Slavova (Intel)Publié le 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...
S’abonner à Articles de la Zone des développeurs Intel

Supplemental Documentation

Intel® MKL Sparse BLAS Overview
Par Naveen Gv (Intel)Publié le 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
Par adminPublié le 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.
S’abonner à Articles de la Zone des développeurs Intel

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


parameterised derived type default kind parameters
Par Nicholas B.1
Parameterised derived types with kind parameters which have default values set to parameters are not working as I expect in Intel Visual Fortran Compiler XE 15.0.2.179. Is this a bug or are my expectations wrong? The following code shows the issue: module imp_module implicit none private integer, parameter :: n = 5 type, public :: dt(k) integer, kind :: k = n integer, dimension(k) :: x end type dt end module imp_module program imp_prog use imp_module type(dt) :: x print *,x end program imp_prog Compiling the code gives: Deleting intermediate files and output files for project 'imp', configuration 'Debug|Win32'. Compiling with Intel(R) Visual Fortran Compiler XE 15.0.2.179 [IA-32]... ifort /nologo /debug:full /Od /warn:interfaces /module:"Debug\\" /object:"Debug\\" /Fd"Debug\vc120.pdb" /traceback /check:bounds /check:stack /libs:dll /threads /dbglibs /c /Qvc12 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\\bin" "C:\Users\Ni...
Problem with pointer under Fortran Compiler XE 14.0.0.103 [Intel(R) 64]
Par Krzysztof P.3
This example has been working for years with all previous 64-bit Intel compiler versions.  Unfortunately with version 14 it fails.       subroutine bug_intel       include 'nodecl.inc'       integer*8 :: k,handle_s1       type jaja         integer*4 :: a         integer*4 :: b         integer*4 :: c       end type jaja       type (jaja),pointer :: s1       type (jaja),pointer :: s2       type (jaja),target  :: ss       integer*4 :: check       pointer (d,ss)         allocate (s1)       s1 % a = 1       s1 % b = 2       s1 % c = 3             handle_s1 = loc(s1)         d  = handle_s1       s2 => ss ! here s2 is wrong       check = s2 % a             end    Any idea what is wrong? Thank you.  
pointer dummy argument
Par Blane J.3
Hi to everyone. I've found a problem illustrates as follows:module mod type :: test integer :: i end type test contains subroutine equals(left, right) type(test) :: left type(test) :: right write(*,*) loc(p), loc(q) end subroutine equals end module mod program main use mod type(test), target :: tar type(test), pointer :: p=>null(), q=>null() allocate(p, q) write(*,*) loc(p), loc(q) ! First p => tar q => tar write(*,*) loc(p), loc(q) ! Second call equals(p,q) ! Third end program mainThe First and Second WRITE statements work fine and loc(p) and loc(q) equal to each other in the Second part. But in the Third time, the returned WRITE statement within the SUBROUTINE outputs a wired result which loc(p) and loc(q) were no longer identical. Is there anything wrong with the code? And if so, what are the returned values in the Third WRITE statement considering that they are...
Rebuilding using an earlier version of the compiler
Par Joe2
This question is about rebuilding code using a version of the Intel Visual Fortran compiler which is different from the one originally used. Some colleagues provide us with an executable file and its Fortran source code. We generally need to make minor changes to the source code and then re-build to create a slightly amended executable. This has worked fine in the past, but we have recently found that in some circumstances our re-built executable has significantly longer run-times than the original executable (e.g. one day instead of one hour). We observe the same problem even if we re-build without making any changes to the code and even though we use the same Visual Studio settings as our colleagues. We believe that the cause of the problem may be that we and our colleagues are now using different versions of the Intel Visual Fortran Compiler (we use v11.0 of the Intel Visual Fortran Compiler with Visual Studio 2008; they use v13.0 of the Intel Visual Fortran Compiler with Visual ...
F12 Visual Studio 2013 not work
Par Lester L.3
The Text Editor- Fortran - Advanced functions have stopped working for VS 2013 using Intel Fortran 2015. When I first installed VS 2013 I activated some of the advanced text editing functions such as the F12 function (Go To Definition). I was pleasantly surprised that it was worked as many years ago this functionality was flaky. I then activated all the rest of the flags (keeping the Disable database =False) as per Steve Lionel's "Learn to Be An Intel Visual Fortran Power User - Part 1" YouTube video and soon after I tried other features all this advanced functionality stopped working including F12. I have tried making a new project, turning off some flags but I cannot get it to work again. Such a nuisance compare to Eclipse + Photran. Does it work for anyone else? Any ideas? Thank you.
ifortvars.bat not setting PATH to ifort.exe binary
Par Dennis Wassel4
Dear all, I have been trying to achieve the same as Simon in https://software.intel.com/en-us/forums/topic/294900, with following setup: This is on a Windows Server 2012 using Visual Studio 2013 and Visual Fortran 15.0. More precisely Microsoft Visual Studio Professional 2013 Version 12.0.31101.00 Update 4 Microsoft .NET Framework Version 4.5.51209 together with Intel(R) Visual Fortran Compiler XE 15.0 Update 1 for Windows* Intel(R) Debugger Extension 7.7-8.0 for Intel(R) Many Integrated Core Architecture Like Simon, we use ifortvars.bat on an older machine, and I can then run cl, nmake and link to build a cross-language DLL. I found ifortvars.bat and according to its documentation, should run it with arguments "intel64 vs2013", and while this does set some paths (like Simon, I compared the output of set before and afterwards), it fails to set the path to the actual ifort.exe binary, and to the SDK tools such as cl, nmake and link. The documentation (locally at C:/Program ...
COARRAYs
Par Václav H.4
Hi,  I have re-instaled the system in my computer.  Afterwards some problems with my codes, which are using the COARRAYs, have appered. I have also found the problem during the runnig the coarray example. The picture is attached. Thank you for any respond   The version of the compiler: Intel(R) Visual Fortran Composer XE 2013 SP1 Update 4 Integration for Microsoft Visual Studio* 2010, 14.0.0100.2010      
Run-time diagnostics for shape mismatches in array assignments possible?
Par FortranFan1
This is based on discussions in this thread at comp.lang.fortran: https://groups.google.com/forum/#!topic/comp.lang.fortran/OCWxsF-Tm0U. The following simple code compiles with no errors or warnings with Intel Fortran and raises no run-time exceptions during the i=j array assignment at line 17 even though the array extents are different (as noted on the comp,lang.fortran forum, NAgFor does give a run-time error).  Run-time diagnostics is set to /check:all.  Is it possible to give some run-time diagnostics here? module m implicit none contains subroutine s ( i ) !.. Argument list integer, intent(inout) :: i(:) !.. Local variables integer :: j(2) !.. j = 42 i = j end subroutine s end module m program p use m, only : s implicit none integer :: ia(1) ia = 0 call s(ia) write (*,*) " ia = ", ia stop end program p Upon execution, ia = 42 Press any key to continue . . . 
S’abonner à 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


OS X 10.9 Xcode 5 error ld: library not found for -lcrt1.10.6.o
Par 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
Par 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
Par 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/
Stepwise calculation for large datasets in Fortran
Par bhvj1
Hi, I am trying to do stepwise calculations, for each day, by using an equation in a Fortran program, using the datasets, as in the attached (each dataset has 18262 values corresponding to 18262 days). The output of the program would be another new dataset in which the two datasets are combined per the equation (as an example 0.5*TC1+ 7*TC2), for each day. What would be the best way to approach this? Would it be a good idea to create two large arrays of size 18262 each for the input, read it into them, and create one large array of size 18262, and write the output into this array? Any suggestions or insight into this would be greatly helpful. Thank you.  
Installer crashes, Website only works in Firefox
Par David O.1
  Downloaded Intel Fortran compiler for evaluation on OSX. Mounted installer dmg, fired up installer - instant crash missing symbol _strnlen in /usr/lib/libSystem.B.dylib not very good Find out if any way to report this - no Forum website does not work in Chrome - only Firefox Not a performance suggesting purchase this software
xe14=>xe15 cause a SIGSEV (openmp)
Par Guillaume d.0
When updating from ifort 14 to ifort 15 (15.0.2 to be precise), several bugs have appear in our programs (while it ran smoothly with ifort 14). One of them seems related to openMP :  forrtl: severe (174): SIGSEGV, segmentation fault occurred Image PC Routine Line Source libintlc.so.5 00007FF35F0F3961 Unknown Unknown Unknown libintlc.so.5 00007FF35F0F20B7 Unknown Unknown Unknown libhsall.so 00007FF362794692 Unknown Unknown Unknown libhsall.so 00007FF3627944E6 Unknown Unknown Unknown libhsall.so 00007FF36275518C Unknown Unknown Unknown libhsall.so 00007FF36275BA58 Unknown Unknown Unknown libpthread.so.0 00007FF35EEDA0A0 Unknown Unknown Unknown libhsall.so 00007FF3627AA9C3 Unknown Unknown Unknown libhsall.so 00007FF36277B74B Unknown Unknown Unknown libhsall.so 00007FF36277ADBC Unknown Unknown Unknown hspec 000000000042093F hspeccal_ 104 hspeccal.f90 libiomp5.so 00007FF360F7EBB3 Unknown Unknown Unknown libiomp5.so 00007FF360F53617 Unknown Unknown Unknown   The source code at the locatio...
Fortran forrtl: severe (174): SIGSEGV, segmentation fault in derived type data
Par JIquan P.0
 "m.f90" :   1 module typedef   2 implicit none   3 type::mytype   4     integer::mn(2,2)   5     complex(kind=8)::w   6     integer,allocatable::sz(:)   7 end type   8 end module typedef   9 subroutine mysub(mtp)  10 use typedef  11 implicit none  12 type(mytype)::mtp(6)  13 integer::lm  14 complex(kind=8)::f0(6),f1(6)  15 do lm=1,6  16     write(*,*)"a",lm  17     f0(lm)=mtp(lm).w  18     f1(lm)=f0(lm)  19 end do  20 end subroutine  21 program main  22 use typedef  23 implicit none  24 type(mytype)::mtp(6)  25 call mysub(mtp)  26 end program I compiled this program with "ifort m.f90" then run it "./a.out",  then error occured:  forrtl: severe (174): SIGSEGV, segmentation fault occurred If I compiled it with "ifort m.f90 -CB" then No error occured If I changed the 4th line into "integer::mn(3,3)" or just delete it, then compiled it with "ifort m.f90" No error occured. This problem puzzled my a lot, is something wrong with my program? my compiler is ifort ...
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Par JIquan P.0
when I compiled my program m.f90 with command: "ifort m.f90" and then run it "./a.out", error occured as follows a           1  b           1  c           1  a           2 forrtl: severe (174): SIGSEGV, segmentation fault occurred, I don't understand why The following is my program m.f90: module system_info  implicit none type::phi_alpha_beta      complex(kind=8)::wv0_up,wv0_down      complex(kind=8)::rwv_up,rwv_down      integer,allocatable::sz(:)  end type  contains  subroutine markov_skip(phi_ab)  implicit none  type(phi_alpha_beta)::phi_ab(4)  complex(kind=8)::rphi_up(4),rphi_down(4)  integer::iphi   complex(kind=8)::wv_new(4),wv_old(4)  do iphi=1,4      write(*,*)"a",iphi      wv_old(iphi)=phi_ab(iphi).wv0_up*phi_ab(iphi).wv0_down*phi_ab(iphi).rwv_up*phi_ab(iphi).rwv_down      write(*,*)"b",iphi      wv_new(iphi)=wv_old(iphi)*rphi_up(iphi)*rphi_down(iphi)      write(*,*)"c",iphi  end do  end subroutine  end module system_info  program main  use syste...
S’abonner à Forums