# 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

Industry-leading Fortran compiler, source compatible across Windows*, Linux* and OS X*. Outstanding optimization capability and broad language standard support now with full Fortran 2003 support and Fortran 2008 BLOCK support. Work with a familiar toolset on your favorite platform.

Choose the Intel® Fortran Compiler for your operating system:

### 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

• 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

### 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

### 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

• 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

### 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

• 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

### 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

• 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*

#### 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

Posted 04/14/20150
Product tour with videos and samples Learn when and how to use the Intel Parallel Studio XE components in a typical software development workflow. You can apply the principles learned to your own application: Identify the performance hotspots in your application Leverage performance libraries ...
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...
Posted 10/02/20140
Product Version:  Intel® Fortran Compiler 15.0 and above Cause: When using NOVECTOR directive in code, the vectorization report generated using Intel® Fortran Compiler's optimization and vectorization report options includes non-vectorized loop instance: Windows OS:  /O2  /Qopt-report:2      L...
Posted 10/02/20140
Product Version: Intel® Fortran Compiler 15.0 and above  Cause: The vectorization report generated using Intel® Fortran Compiler's optimization and vectorization report options: Win OS:  /O2  /Qvec-report:2    Linux OS and OS X:  -O2  -vec-report2 includes non-vectorized loop instance when us...

## Supplemental Documentation

Posted 06/25/20120
Sparse BLAS routines can be useful to implement iterative methods for solving large sparse systems of equations or eigenvalue problems
Posted 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.
 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.
Intel Parallel Studio XE 2016 Beta has Started!
The beta test for Intel Parallel Studio XE 2016, including Intel Fortran Compiler XE 16.0, has begun. For more details, a FAQ and a registration link, see Intel® Parallel Studio XE 2016 Beta Major Fortran features supported in this release are: Submodules from Fortran 2008 IMPURE ELEMENTAL from Fortran 2008 "Further Interoperability with C" features from TS29113 (Fortran 2015 draft) For more details see the release notes. Please use Intel Premier Support for any problems you encounter, rather than this forum. If you have questions about Fortran language features, you can ask them in this forum. Please note that the compiler in the initial beta version was built a couple of weeks ago and doesn't include all of the fixes you may have seen described as "fixed in a release later this year". The remainder of this post will be kept updated on "things you should know" about the beta. The current beta includes VS2010 Shell. A beta update will include VS2013 Shell instead. VS2010 Shell wi...
LNK2001: unresolved external symbol XE 2015 in GENMOD
4
I recently upgraded from XE 2013 SP1 to XE 2015 (15.0.22) and with no changes to the code am getting LNK2001: unresolved external symbol errors from the Interface modules automatically generated by the compiler when using the -warn:all switch. Hopefully attached is a code snippet showing the problem along with a batch file to compile with from the 64 bit command line. The problem is relatively simple. My main program IPProc calls S/R AVERAGEIP PROGRAM IPPROC IMPLICIT NONE CALL AVERAGEIP() END AVERAGEIP contains a S/R AVERMED which dimensions an array using a variable declared in AVERAGEIP SUBROUTINE AVERAGEIP() IMPLICIT NONE INTEGER :: NRPTS RETURN CONTAINS ! even though this S/R is no longer called if I remove it the link error disapears   SUBROUTINE AVERMED()   REAL, DIMENSION(NRPTS) :: ZVEC   ZVEC = 0   RETURN   END SUBROUTINE AVERMED END SUBROUTINE AVERAGEIP The integer NRPTS is local to AVERAGEIP yet when I compile with-check:all -debug:full -traceback -warn:all I...
shell32.lib
5
Hi All, I am using Intel Visual Fortran Composer 2013 with Microsoft Visual Studio 2012 to build an exe file.  I got the following error message: 1 fatal error LNK1104: cannot open file 'SHELL32.LIB' Can anyone please share with me some ideas of how to fix this issue? Thanks, Fengbin
AUTOINVIKE will not execute more than once
6
I'm having a problem with executing a call to the Execute method of a Connection object more than once.  The first call executes fine but any subsequent calls just cause the program to stop execution.  The point the program stops is the "STATUS = AUTOINVIKE($OBJECT, 6, invokeargs)" statement in the$Connection_Execute function.  The \$Connection_Execute function is contained in a module called "msado28" which was created with the Module Wizard.  The commandtext for the Execute method is merely a call to a SQL Server stored procedure called Storetest which takes one string parameter and has been tested within SQL Server Management Studio. The main program code is as below: program storetest  use msado28  implicit none    integer(int_ptr_kind()) COMcnn  character*120, parameter::COMcnnstr='Provider=SQLOLEDB; Data Source=mySQLServer; Initial Catalog=myDB; Trusted_Connection=Yes'  integer(4) COMrtnstatus  integer(int_ptr_kind()) COMexestatus  type(variant) rst  integer*4 i  integer(4)...
problem with Installing XE 2015
3
I have been running a thread with ...forums/intel-software-development-products-download-registration-licensing and have come up against a problem such that I have been advised to start a new thread with fortran-for-windows ... Under the instruction of registration-licensing I have downloaded Intel Software Development Products for Windows, Education, have been given a serial number and have installed the software, or have tried to ... My need is to compile .dll files from fortran subroutines with the command ifort /DLL /libs:static /threads jobname.f. But I am not able to access any of the fortran capabilities of the software. The first page of the attached powerpoint file shows a screendump of the Intel folder within Program Files (x86) and also of what I see under the shortcut icon. The second page shows the 'getting started' page of Parallel Studio XE 2015 with the initialisation instruction that I have followed. It also shows the cd window with the error message 'Visual Studio ...
Coarrays on Windows
3
Inspired by a posting on comp.lang.fortran I looked up whether the Intel Fortran compiler could "do" coarrays on Windows. It turns out it can indeed, at least as far as building a simple program is concerned. But I ran into a problem when I tried to run it: > .....\mpiexec hello.exe User credentials needed to launch processes: account (domain\user) [.....]: password: Error connecting to the Service [mpiexec@....] ..\hydra\utils\sock\sock.c (270): unable to connect from "mymachine" to "mymachine" (No error) read from stdin failed, error 6. [mpiexec@....] ..\hydra\tools\demux\demux_select.c (78): select error (No such  file or directory) [mpiexec@....] ..\hydra\pm\pmiserv\pmiserv_pmci.c (480): error waiting for event [mpiexec@....] ..\hydra\ui\mpich\mpiexec.c (945): process manager error waiting for completion Note: I had to invoke mpiexec explicitly because another program called mpiexec got in the way (via the PATH variable). What can I do to solve this error? Regards, Ar...
I don' t have the expected result, IERR Error
5
Hi, I have installed VS2013 and Intel Parallel Studio XE 2013 in Windows 7, 64 bit Laptop. I have some fortran 77 code that I have been using for so Long. I want to recompile them using Intel Parallel Studio XE 2013. When I compile one of them with Intel Visual Fortran, it' s compiled. But I don't have the expected result, because the end-of-file condition occurs. (IERR Error)  ERROR !!! QSORT : IERR = ****. QSORT is a subroutine in my .f source file.      CALL QSORT(NSR,NK,MSF,IERR) C---------------------------------------------------------------       IF(IERR.EQ.0) GOTO 300       WRITE(*,290) IERR   290 FORMAT(1X,'ERROR !!! QSORT: IERR  =',I6)       GOTO 999 C Thanks in advance for any help.
Simple F90 syntax question , if you please
3
Hello, It's been a while since I posted. I have this line: write(13,153) ((( ALOG(WSratio(I,J,K))/ALOG(ZU/ZL), I=1,7), J=1,4), K = 3)Upon compile, IVF v.14.x says this: error #5082: Syntax error, found ')' when expecting one of: , It's almost acting as thought my parentheses are unbalanced, but I believe they are balanced. I wonder what the real violation is here. Any help is appreciated, as always.
 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.
Intel Parallel Studio XE 2016 Beta has Started!
The beta test for Intel Parallel Studio XE 2016, including Intel Fortran Compiler XE 16.0, has begun. For more details, a FAQ and a registration link, see Intel® Parallel Studio XE 2016 Beta Major Fortran features supported in this release are: Submodules from Fortran 2008 IMPURE ELEMENTAL from Fortran 2008 "Further Interoperability with C" features from TS29113 (Fortran 2015 draft) For more details see the release notes. Please use Intel Premier Support for any problems you encounter, rather than this forum. If you have questions about Fortran language features, you can ask them in this forum. Please note that the compiler in the initial beta version was built a couple of weeks ago and doesn't include all of the fixes you may have seen described as "fixed in a release later this year". The remainder of this post will be kept updated on "things you should know" about the beta.
OS X 10.9 Xcode 5 error ld: library not found for -lcrt1.10.6.o
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
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
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/
Compiler runs into problem compiling F77 code
1
I'm trying to compile Fortran 77 code (T-matrix code) on a Linux system using Intel Parallel Studio XE 2015 for Fortan and I have the recurring problem of too many errors. I'm using: ifort ampld.new.f and the errors that come up are: ampld.new.f(1): error #5149: Illegal character in statement label field  [T] This test result was calculated by the code in its ^ ampld.new.f(1): error #5149: Illegal character in statement label field  [h] This test result was calculated by the code in its -^ ampld.new.f(1): error #5149: Illegal character in statement label field  [i] This test result was calculated by the code in its --^ ampld.new.f(1): error #5149: Illegal character in statement label field  [s] This test result was calculated by the code in its ---^ ampld.new.f(1): error #5118: First statement in file must not be continued This test result was calculated by the code in its -----^ ampld.new.f(4): error #5149: Illegal character in statement label field  [I] ICHOICE=1  ...
compatibility
2
The Compatibility of Intel Compiler for OS X and Xcode indicates Intel Composer XE 2013 SP1 is not compatible with OS X version 10.10.  Really?  This software is 2 years old and cannot be used anymore?  Please let me know.  Thank you.
Getter functions for arrays
1
Hi, I wonder if there exists an easy way to implement a getter function for an array valued attribute? For instance, one has a derived item, for example the extensions of a process grid (pgrid). As this item can be retrieved lets say from an mpi subroutine using a given communcator, it would be cleaner not to store this informations redundantly: ... type :: PGRID integer :: comm contains procedure :: psizes => get_psizes end type PGRID ... module function get_psizes(this) result(psizes) class(PGRID), intent(in) :: this integer :: psizes(2) end function get_psizes ... ! now if one wants to access 'psizes' like an array, ! that does obviously produce an error because indexing ! is interpreted as a second argument dim1=pgrid%psizes(1) ! -> error  I have found this more complicated workaraound, so that indexing should work, but I'm not very happy with it: type :: PGRID integer :: comm contains procedure psizes => get_psizes end type PGRID ....
ifort creates empty ~/intel/ism/rm
0
Whenever I run ifort it creates an empty directory tree "~/intel/ism/rm". I found https://software.intel.com/en-us/forums/topic/509368 forum thread from a year ago where Steve Lionel claims this should not happen and that the developers have been notified. However, this still happens today in the newest versions. Is there any way to prevent this?