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

Aucun contenu trouvé

More Tech Articles

Overview of Vectorization Reports and the -vec-report6 Option
Par Ronald W Green (Intel)Publié le 11/07/20130
Compiler Methodology for Intel® MIC Architecture Overview of Vectorization Reports and the -vec-report6 Option Note: This article applies to Intel Compiler version 14.X and earlier. With version 15.0, the four optimization report options (-opt-report, -vec-report, -openmp-report, and -par-re...
Efficient Parallelization
Par Ronald W Green (Intel)Publié le 11/07/20130
Compiler Methodology for Intel® MIC Architecture Efficient Parallelization Overview This chapter covers topics in parallelization. There are links to various parallelization methods and resources along with tips and techniques for getting optimal parallel performance. Goals In this chapter, ...
Cache Blocking Techniques
Par AmandaS (Intel)Publié le 11/07/20130
Compiler Methodology for Intel® MIC Architecture Cache Blocking Techniques Overview An important class of algorithmic changes involves blocking data structures to fit in cache. By organizing data memory accesses, one can load the cache with a small subset of a much larger data set. The idea is...
New User Compiler Basic Usage
Par Ronald W Green (Intel)Publié le 10/17/20130
Compiler Methodology for Intel® MIC Architecture New User Compiler Basic Usage This chapter is intended for users that are new users of Intel compilers or are not very familiar with common compiler options used to control optimization, vectorization, and floating point calculations. It is impor...
S’abonner à Articles de la Zone des développeurs Intel

Supplemental Documentation

Aucun contenu trouvé
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


How small can we go?
Par Steve Lionel (Intel)6
Those of you who follow my @DoctorFortran Twitter feed have seen this already, but for the rest of you...  I have acquired five MinnowboardMAXes - small single-board computers with dual-core Atom processors and 2GB of RAM. My primary goal for these is to form a Linux cluster and demonstrate coarrays on them, but I took one of them and loaded Windows 10 and Visual Fortran on it. Works fine, if not the speediest thing in the world. It doesn't help that the "system disk" is a 32GB MicroSD card.
Auto update of file version number in a *.rc resource file
Par Greg Thorwald3
Hello, I have a .rc resource file in a Fortran DLL project where I set information like the version number.  Is there a way to automatically increment part of the file version number with each build?  I currently manually edit the file version number, which is not onerous, but automation would be welcome.  It looks like the .rc file is a text file that could perhaps be modified by a script, unless that would corrupt it.  Thanks for any advice. Regards, Greg
ICE with 15.0.2
Par IanH4
Oh the trouble I had - when compiling the attached the compiler went bad, which made me all sad.  If it got fixed I would be glad, so help me, before I go mad. >ifort /c /check:all /warn:all /standard-semantics /stand slippery-little-so-and-so.f90 Intel(R) Visual Fortran Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 15.0.2.179 Build 20150121 Copyright (C) 1985-2015 Intel Corporation. All rights reserved. slippery-little-so-and-so.f90(38): warning #6178: The return value of this FUNCTION has not been defined. [WHAT] FUNCTION ts_What() RESULT(what) ----------------------------^ ... slippery-little-so-and-so.f90(76): remark #7712: This variable has not been used. [NAMES] SUBROUTINE ParseDataComponentDefStmt(decl_spec, attrs, names) ---------------------------------------------------------^ fortcom: Fatal: There has been an internal compiler error (C0000005). compilation aborted for slippery-little-so-and-so.f90 (code 1) 
MKL 11.2 Install Failure - Fortran Composer XE 2015 / VS 2010 Shell
Par Scott Graham7
I recently attempted to upgrade my Fortran compiler to the Fortran Composer XE 2015 edition released on 2/5/2015.  The Fortran upgrade appears to have gone OK. However, when installing the MKL libraries I get an error that the debugger extension requires Visual Studio 2012 or 2013, and the install window for the MKL libraries places a red X on the install of "Intel MKL core libraries for Intel (c) 64" and "Intel MKL core libraries for IA32".  Does the new version of MKL require Visual Studio 2012 or 2013?  Is there a work around to get this to work on my VS 2010 shell that came with the Intel Fortran compiler? Thanks !
Array Initialization Error when mixing different integer types.
Par Michael B.5
Code: PROGRAM main   USE ISO_C_BINDING     IMPLICIT NONE   INTEGER, PARAMETER :: DIM0 = 7   INTEGER, PARAMETER :: DIM1 = 4   INTEGER, PARAMETER :: num_flags = 4   INTEGER(kind=8), PARAMETER :: DIM0a = 7   INTEGER(kind=8), PARAMETER :: DIM1a = 4     INTEGER, DIMENSION(1:3) :: dim_qf_data =(/DIM0,4,num_flags/)   INTEGER(kind=8), DIMENSION(1:2) :: dims = (/DIM0a,DIM1a/) ! #1   INTEGER(kind=8), DIMENSION(1:2) :: dims = (/DIM0,DIM1/) ! #2   print*,dim_qf_data    print*,dims END PROGRAM main When I use #1 it prints correctly: 7,4,4 7,4   But when I use #2 it prints dim_qf_data's second array value wrong: 7,0,4 7,4   For Intel 14.0 it was correct for both. It also works correctly on Mac and Linux with Intel 15.0 (and 14.0).   Computer system env. attached.          
Visual Studio IDE issue: blank members drop-down for a module with parameterized derived type and a type with a bound procedure.
Par FortranFan4
With Visual Studio 2013 and Intel Fortran integration using compiler 2015, update 2, the members drop-down for the source window in the IDE shows up empty for the simple module code shown below.  Hopefully the problem is reproducible and it can be directed for a resolution. module m implicit none type :: t(n) integer, len :: n real :: x(n) end type type, public :: foo private real, allocatable :: m_x(:) type(t(:)), allocatable :: m_t contains private procedure, pass(this), public :: init end type foo contains pure subroutine init(this, x, irc) !.. Argument list class(foo), intent(inout) :: this real, intent(in) :: x(:) integer, intent(inout) :: irc !.. Local variables integer :: size_x !.. irc = 0 size_x = size(x) if (size_x > 0) then allocate( t(size_x) :: this%m_t, stat=irc ) if (irc /= 0) return this%m_t%x ...
Another ICE with parameterized derived type
Par FortranFan3
Please check this out: module m implicit none type :: t(n) integer, len :: n real :: x(n) end type type, public :: foo private real, allocatable :: m_x(:) type(t(:)), allocatable :: m_t contains private procedure, pass(this), public :: init end type foo contains pure subroutine init(this, x, irc) !.. Argument list class(foo), intent(inout) :: this real, intent(in) :: x(:) integer, intent(inout) :: irc !.. Local variables integer :: size_x !.. irc = 0 size_x = size(x) if (size_x > 0) then allocate( t(size_x) :: this%m_t, stat=irc ) if (irc /= 0) return this%m_t%x = sqrt(x) this%m_x = x else irc = 1 end if !.. return end subroutine init end module m program p use m, only : foo !.. implicit none !.. type(foo) :: a integer :: erc call a%in...
Premier support wont allow file upload
Par Andrew Smith1
When I open an issue it displays this in the section for upload: This page can’t be displayed Make sure the web address https://esft.intel.com is correct. Look for the page with your search engine. Refresh the page in a few minutes
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


compilervars.sh destabilizes my linux environment
Par Philip G.0
  I have tried to install Intel Composer XE 2015.0.090 in both OpenSuse 13.1 and Ubuntu 14.04 LTS environments. In both cases I have followed the instructions here (https://software.intel.com/en-us/articles/using-intel-compilers-for-linu...)  and installed the compilers for 64bit system only. When I add the source /opt/intel/bin/compilervars.sh intel64  command to my ~/.bashrc file, it causes the system to fail to re-boot (under both OS) next time I try to log in. Even typing the source command in a terminal window (i.e. not adding the command to my .bashrc file) causes the system to fail at next login. In Ubuntu, the boot process is now stuck at the "lubuntu" screen with 5 dots endlessly recycling. I must be doing something wrong with my installation, but I have no idea what - can anybody help ? Thanks.  
Incorrect result with COUNT in initialization expression
Par Brian2
I found that Intel Fortran 15 gives incorrect results with the COUNT intrinsic in initialization expressions. Consider the following program: program count_bug implicit none integer, parameter :: npts(2) = (/ 42, 1 /) integer, parameter :: ndims = count(npts .gt. 1)   write (*,'(2(I0, 1X))') count(npts .gt. 1), ndims end programWhen compiled with ifort, the output is "1 -1".  The correct output is "1 1". This result was obtained with Intel Fortran 15.0.1 20141022 on Mac OS X 10.10.1.
Convenience libraries, ipo, and unresolved references
Par Jack S.2
I am attempting to recompile code that was written using GNU tools, including autotools. In the makefiles, I make a lot of use of so-called convenience libraries, or local static libraries that are only used as compilation stages, and which are not installed. This is a fairly common practice with autotools, but doing so leads to unresolved references at link time when -ipo is specified on the command line. If I don't use -ipo, everything is fine. The problem only occurs with -ipo.  Is there an easy workaround that does not involve removing the convenience libraries? 
vtune_amplifier_xe_2013 + how to compile
Par diedro1
dear all, I have vtune_amplifier_xe_2013, I used it one year ago to analyze the CPU time in my program.  I remember that it produce the files: .dump and .xml I do not remember anymore how to compile the program to get the previous files. I do not remember the flags that I have to use in ifort. Someone could help me, please? I am not able to find the guide anymore. Now I am trying to look inside the  vtune_amplifier_xe_2013 folder. Thanks  
Optimization flags documentation
Par KK6
Hi, Where can I get the documentation of the optimization flags and explanation for ifort and mpiifort 15.0.1. Thx. 
Question: Reading a large column (1D-array) and writing slices of this array as rows
Par bhvj26
I am trying to read a large single column (which I am trying to read in as a 1-D array), and then to write slices of this array as rows until the end of the data. Please suggest me the best way to accomplish this task. Thanks in advance.
Have input variables from header file be recognized as initialized variables
Par Solal A.4
Hey, I am currently debugging my code for a runtime error (invalid pointer) but the compiler does not give me valuable information for locating this error even with -traceback. I am therefore make use of all the debug flags I found online with the hope that it may solve the problem: FLAGS = -O2 -stand f03 -std -check all -traceback -warn all -fstack-protector -assume protect_parens -implicitnone   Using these flags, I actually get a lot more error than the one I had to begin with. One of them is about a variable name which does not have a type: visc.f90(29): error #6404: This name does not have a type, and must have an explicit type.   [BC_UY]         CALL FxxSBP_t (d2udy(i,:,k),u(i,:,k),h(2),nptsy, BC_UY) The variable BC_UY is defined in a header file and loaded in the code with the #INCLUDE statement. Is there a way I can load in the variable from the header files so that the compiler initializes it correctly?
Customizing Makefile for the programm using Fortran Compiler.
Par Konstantin C.3
Hi! I'm trying to define the makefile for compiling the programm in Linux that uses Fortran Compiler. In the programm manual it is written that it requires FORTRAN90 compiler and MPI. I've installed Intel Parallel Sdudio 2015 and openMPI. The target template in the makefile looks like this: # Generic target template #===================================================================== uknown_platform:     $(MAKE) LD="path to FORTRAN90 Linker-loaDer" \     LDFLAGS="appropriate flags for LD (MPI libraries)" \     FC="path to FORTRAN90 compiler" \     FCFLAGS="appropriate flags for FC (MPI include)" \     EX=$(EX) BINROOT=$(BINROOT) $(TYPE) I have Parallel Studio installed in /opt/intel.  All the pathes are added to bashrc file PATH=$PATH:/opt/intel/bin LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib (the pass to the openMPI libraries) PATH=$PATH:/opt/intel/impi_latest/bin64 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/impi_latest/lib64 When runing the makefile for stantart t...
S’abonner à Forums