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

Nenhum conteúdo foi encontrado

More Tech Articles

Intel® Compiler Options for Intel® SSE and Intel® AVX generation (SSE2, SSE3, SSSE3, ATOM_SSSE3, SSE4.1, SSE4.2, ATOM_SSE4.2, AVX, AVX2, AVX-512) and processor-specific optimizations
Por Martyn Corden (Intel)Publicado em 01/24/20105
Explains which Intel® Compiler switches to use to target and optimize for a specific platform, microarchitecture, CPU or processor.
Load Balance and Parallel Performance
Por adminPublicado em 01/19/20100
Load balancing an application workload among threads is critical to performance. The key objective for load balancing is to minimize idle time on threads.
Performance Insights to Intel® Hyper-Threading Technology
Por Antonio Valles (Intel)Publicado em 11/20/200917
This paper explains how Intel HT Technology works and shows a variety of performance results across several classes of software running on clients, workstations, and servers. Methods for assessing Intel HT Technology performance are introduced, and analysis of performance degradations are include...
Intel C++ or Fortran Compiler for Windows Silent Installation Guide
Por Steve Lionel (Intel)Publicado em 09/01/20094
A guide to installing Intel C++ or Fortran Compiler for Windows using a non-interactive (silent) installation.
Assine o Artigos do Espaço do desenvolvedor Intel

Supplemental Documentation

Nenhum conteúdo foi encontrado
Assine o Artigos do Espaço do desenvolvedor 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


Multiple versions of fortran and MS visual studio
Por Timothy H.5
Hi, I'm writing some fortran subroutines and linking them to a commercial code. The code is in the form of a library, and it was compiled with intel fortran  parallel studio XE 2013, with MS Visual Studio 2010. I set up MS Visual Studio 2013 (with the added SDK) and I got an evaluation version of Intel Parallel Studio XE 2015 Composer Edition for Fortran Windows.  I got that to install and compiled the fortran files, and when I try to link everything up into an executable (using a makefile and MS incremental linker version 12.00.21005.1) ) I get the following: LINK : Fatal error LNK1104: cannot open file 'LIBCMT.lib' NMAKE :  Fatal error U1077:  'ifort' : return code '0x450' I've tried tracking down the directories for the libraries and adding them to the LIB environment variable, but wound up with conflicts. The vendor of the commercial code is not inclined to re-compile with the newer versions, so I've re-installed MS Visual Studio 2010 and I want to install the 2013 version of th...
ICE in select type with class(*)
Por Wolf W.1
The code below produces an internal compiler error, if the /debug:full option is enabled. program main implicit none real :: foo(2,2) foo = 1.0 call testSub(foo) contains subroutine testSub(matrix) class(*), intent(inout) :: matrix(:,:) ! << This works ! class(*), intent(inout) :: matrix(2,2) ! << This fails select type(local => matrix) type is (real) end select end subroutine testSub end program  Compiler: Intel(R) Visual Fortran Compiler XE 15.0 Update 2 for Windows
Problem with an unresolved symbol _for__rtc_uninit_src
Por arjenmarkus3
Hello, for one of our program suites I keep getting a bizarre link error, which my colleagues do not experience. The message is: error LNK2001: unresolved external symbol _for__rtc_uninit_use_src    By the looks of it and from checking the sources (we do not have a routine of that name) I guess that this is a routine that should be in the runtime libraries. So, my question is: how can I solve this? For your information: I am using Visual Studio 2010 The version of the Intel Fortran compiler is Intel® Parallel Studio XE 2015 Composer Edition for Fortran Windows* Update 1 Integration for Microsoft Visual Studio* 2010, Version 15.0.0115.2010      
Is this is bug? Error: Invalid signal or error
Por billpeace3
Program Test     implicit none   INTEGER, PARAMETER :: dble = SELECTED_REAL_KIND(P=10,R=50)   INTEGER, PARAMETER :: sngl = SELECTED_REAL_KIND(P=5)   REAL (KIND = dble), ALLOCATABLE, DIMENSION(:), TARGET  ::  wk3 , wk10,rsb0   REAL (KIND = dble), DIMENSION(:), POINTER :: cpmu,rhocp,rsn    INTEGER  err    INTEGER  mswk10,mswk3,mst,ncomp,mstart    integer m221,mrrb,msn,m     REAL (KIND=dble)::result11       mswk10=20352600       mswk3=70480200       mst=6784000       ncomp=2       mstart=1      ALLOCATE(wk10(mswk10),wk3 (mswk3 ), STAT = err )      ALLOCATE (rsb0(mst*ncomp), STAT = err )             rhocp    => wk10(1:mst)         cpmu     => wk3(1:mst)         rsn      => rsb0( mstart:mst*ncomp )        m221=37        mrrb=mst-200        msn=0        cpmu=10104414.9170140        rsn=1.138435243319734D-003        rhocp(m221:mrrb) = rhocp(m221:mrrb) + cpmu(m221:mrrb)*rsn(m221+msn:mrrb+msn)        !DO m = m221, mrrb        !    rhocp(m) = rhocp(m) + cpmu(...
Random reading of an unformatted file?
Por michaelgreen7
Hi All, I have a large file of geographic information created thus: open(1,file=trim(shapefile),status='replace',form='unformatted',iostat=ios, &    err=1000,recl=128,recordtype='stream') I read the whole file and display its information on screen. The user clicks somewhere on screen and from that I know I have to re-sample a small part of the file starting at some byte N. Is there some Fortran way I can get at that byte number immediately without having to start from the beginning of the file? Many thanks Mike  
Can't access GetMenuInfo function from USER32.f90
Por Russell G.1
  I'm using Intel Visual Fortran 2013, with MSVS 2010.  I want to access the GetMenuInfo function which is in the USER32.f90 library. However I'm not able to access this function.   I've tried to create a minimal test case:   SUBROUTINE updatemenu(hWnd)   USE IFWINTY   USE USER32 IMPLICIT NONE   INTEGER(HANDLE)  :: hWnd   INTEGER(HANDLE)  :: ghMenu   INTEGER(HANDLE)  :: submenu   INTEGER(DWORD)   :: ignor   TYPE(T_MENUINFO) :: minfo   ghMenu  = GetMenu(hWnd)   submenu = GetSubMenu(ghMenu, 1)   ignor   = getMenuInfo(submenu, minfo)       END SUBROUTINE updatemenu  When I attempt to compile this, I get the following error: error #6404: This name does not have a type, and must have an explicit type.   [GETMENUINFO]What's going on here?   Thanks
Unresolved externals
Por Ken W.6
I'm using the 30-day trial of the Intel Visual Studio 2015 with C++ and FORTRAN compilers. I'm evaluating for purchase and need some help please. When trying to build a simple mixed language project with a C++ main calling a FORTRAN subroutine I get LNK2019, unresolved external symbol for "_sqrtf in function _G6".  The code is as follows: --- C++ code --- #included <cstdlib> extern "C" void _cdecl G6(); using namespace std; int main( void ) {     G6();     return 0; } --- FORTRAN code ---        SUBROUTINE G6        IMPLICIT NONE        REAL SUM        REAL ROOTSUM        SUM = 1 + 2.5        ROOTSUM = SQRT(SUM)        END --------------------------------------------- The FORTRAN code is compiled as a static library and linked into the C++ project. Relevant information: 1. When compiled as a Release version the code compiles and executes properly.  When compiled as a Debug version the unresolved error occurs. 2. I think I'm linking in the Intel libraries correctly in the proje...
Pause program to wait for external signal
Por Scott B.4
For a fortran program are there any extensions (or even possible with Fortran standard) that can pause a program during execution and wait for a signal from an external source to resume execution.   My assumption is that the EXECUTE_COMMAND_LINE could work for running a separate program, but I would ideally like to have two separate programs that run in parallel and pause to communicate with each other when there is a needed information exchange. I could do binary files that one program waits for the other to update, but is there any way to send an electronic signal or even pass arrays within memory (RAM) or does that only work with subordinate programs compiled as dll?
Assine o Fóruns

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


creeping cpu time
Por a b.8
  Hello.   I have a fortran multithreaded (omp) code compiled with ifort that runs 24/7 doing fluid flow calculations. It uses about 6GB of ram and it is run as a series of self-submitting jobs. The processor is an i7 3930k with 16GB ddr3 @ 1600mhz and the OS is opensuse but run in konsole. No other application is run on this system and it not connected to the net.   Each one of the series of these jobs does a virtually identical number of operations - exept when there is an occasional database dump - so in theory the cpu time used should be about constant for each of the segments of the run,   The curious thing is that the code runs the fastest after a reboot  and over the subsequent runs the cpu time used creeps up. Over 2 days the cpu has increased by about 6%. Isolated runs have occured being  ~ 20% slower than average, Are there any explanations why there this cpu creep? thanks -- ps: timing is measured with omp_get_wtime(). also the linux time is used to time the executable.  
Xcode 6.2
Por Izaak Beekman2
Is it safe to upgrade to Xcode 6.2 or will this break the installed compiler? If it is safe is there anything special I need to do? TIA -Zaak  
I/O Question
Por bhvj7
Hi    I have an input output question. I am trying to read the values as in the attached text file, until end of file, then multiply the last value (from beginning to end) by a coefficient (example 0.5) and output the table in the same format but with the modified last column. Attached herewith is a test program which I tried to write for this, which appears to go in an infinite loop. Any pointers and suggestions so as to output the file in the same format would be greatly helpful. Thank you.
Downcast function result without copy
Por Ferdinand T.19
Problem: A subprogram 'make_child' returns a variable of type 'child' which is an extension of the 'parent' type. 'make_child' itself gets the 'child' from a generic factory, which produces the 'child', but declares it as 'parent' type. (Note: this is not about human genetic engineering, it's a Fortran question...) Question 1 (Fortran Standard): How can 'make_child' downcast the 'parent'-type into the result declared as 'child', without creating a copy (large data!) ? What I tried so far: Sourced allocation within a select-type environment -> no solution (must copy the data & leave the select-type-env. in order to return from 'make_child') move_alloc works in ifort 14.0.3 and ifort 15, but is not standard-conforming (same kind of 'from' and 'to'). Question 2 (Intel): In case I use move_alloc nevertheless (if there is no better answer to Question 1), will this non-conforming code compile and work correctly on all future version with ifort? Code: Here, make_child is a subrout...
OpenMP &amp; Shared derived array
Por criswu2
type :: zmplx2d complex*16,pointer:: val1(:,:),val2(:,:) end type type(zmplx2d),dimension(:),allocatable:: acamats !$omp parallel do private(ilo,jlo,snedges,fnedges, & ies,ief) shared(acamats) & schedule(guided) do j = Levindx(i), Levindx(i+1)-1 ilo = edgeips(2,j) jlo = edgeips(1,j) snedges = igall(jlo+1)-igall(jlo) fnedges = igall(ilo+1)-igall(ilo) ies = igall(jlo) ief = igall(ilo) call farboxInteraction2(snedges,fnedges,acacomps(j), & acamats(j)%val1, & acamats(j)%val2,ztmp1(ief),ztmp2(ies)) enddo I want to parallelize the do-loop using OpenMP.   the result of the codes is not correct.  It seems OpenMP don't support derived types. Anyone knows why and how to solve this problem ?   
Another catastrophic error: **Internal compiler error
Por hiroshi-murakami3
$ ifort -v ifort version 15.0.0 $ ifort -c -fast -openmp test.F90 test.F90: catastrophic error: **Internal compiler error: segmentation violation signal raised** Please report this error along with the circumstances in which it occurred in a Software Problem Report. Note: File and line given may not be explicit cause of this error. compilation aborted for test.F90 (code 1)   Note, If you undefine the macro flag "BUG_OCCUR", the compiler error disappears. OS: CentOS-6.x
EOF Question
Por bhvj5
Hi    I was trying to implement the EOF function, in order to read until end of the input file, as DO WHILE (.NOT. EOF(unit number of open file)) It gives the following error: forrtl: severe (24): end-of-file during read, unit 121, Attached herewith is the test code and input file. Any suggestions in this regard would be greatly helpful. Thank you.
source the ifortvars.sh or ifortvars.csh file to properly set the user environment
Por iodine l.2
in the old version like fortran 11.1.046, after the compilers are installed, it is necessary to source the ifortvars.sh or ifortvars.csh file to properly set the user environment to use the Intel compilers. but now I install a new version (Intel® Parallel Studio XE 2015 Professional Edition for Linux) I fail to find out when the ifortvars.sh is, can anybody give me the path of it? the compliers is installed under /opt/intel
Assine o Fóruns