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

Expectations for User Source Code Changes
- AmandaS (Intel)Опубликовано: 11/25/20130
Overview Although most codes can run in the Intel® Many Integrated Core Architecture (Intel® MIC Architecture) with little to no changes, to run EFFICIENTLY may require changes in user source code. This chapter examines algorithmic some general topic related to user source code changes that can ...
Getting Started with Intel Compiler Pragmas and Directives
- AmandaS (Intel)Опубликовано: 11/25/20130
Compiler Methodology for Intel® MIC Architecture Getting Started with Intel Compiler Pragmas and Directives Overview Compiler options allow a user to control how source files are interpreted and control characteristics of the object files or executables.  Compiler options are applied to an en...
Advanced Optimizations for Intel® MIC Architecture
- AmandaS (Intel)Опубликовано: 11/25/20130
Compiler Methodology for Intel® MIC Architecture Advanced Optimizations Overview This chapter details some of the advanced compiler optimizations for performance on Intel® MIC Architecture AND most of these optimizations are also applicable to host applications. This chapter includes topics su...
Advanced Optimizations for Intel® MIC Architecture, Low Precision Optimizations
- AmandaS (Intel)Опубликовано: 11/25/20130
Compiler Methodology for Intel® MIC Architecture Advanced Optimizations for Intel® MIC Architecture, Low Precision Optimizations Overview The latest Intel Compilers (released after the 13.0.039 Beta Update 1 release) do not generate low-precision sequences unless low-precision options are adde...
Подписаться на Статьи 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


#6375: Because of COMMON, the alignment of object is inconsistent with its type
- PRADEEP KUMAR P.11
I have one of a very common issue. But I am not sure why it happens this time.  Warning #6375: Because of COMMON, the alignment of object is inconsistent with its type[P]   THE DECLARATION IS DONE WITH CARE. BUT STILL THE PROBLEM PERSISTS. I KINDLY SEEK EXPERTS AND FRIENDS ADVICE ON THIS REGARD.  -PRADEEP
Using . instead of % as a component selector tool for a derived type
- avinashs4
  I accidently used the period operator (.) instead of % as a component selector tool in my Fortran code. This seemed to work perfectly fine with the Intel Parallel XE 2015 compiler. However, I could not find it documented anywhere as being a safe alternative for the % character. Is this a known feature or change to the standard? I personally find it easier to read code with the period operator and would like to adopt this as a standard code-writing practice. Any suggestions or warnings will be welcomed.
PDT question
- Walt Brainerd2
<p>I am trying some new things with Beta 2016 (W8.1, cygwin) and have several things working, including submodules, PDTs, and DTIO ! <p>I have encountered a couple of bugs and ICEs, which I have submitted, but this is a question. <p>I am trying to extend operator (+) and assignment (=) with a PDT. Each seems to work (sort of) but not together. How do I declare the result of the operator extension so that it is compatible with the arguments (other than literal array sizes)? Here is what I have so far (sorry, I have no clue how to format this thing). I am going to try the whole thing again with allocatables, but I think the simpler case should work ??? <pre> $ ifort addmatrix.f90 Intel(R) Visual Fortran Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 16.0 Beta Build 20150326 Copyright (C) 1985-2015 Intel Corporation.  All rights reserved. addmatrix.f90(67): error #6197: An assignment of different structure types is invalid.    c = a + b...
Comments in Namelist Read From Character String Broken
- Jeff L.2
Hi, I am not a Fortran expert by any means but have been searching for a solution to a particular problem that I'm having and have not had any success in finding a solution. Any help or feedback would be much appreciated. I have a Fortran program that receives a character string from an external source (3rd party lib) that contains Namelist inputs. I have been using the READ statement to read the string directly into my namelist variables and all has been working well it seemed. However, recently I came along a use case where comments were embedded in the input string. All namelist inputs before the comment were read in correctly but all namelist inputs after the comment was ignored and the read statement returned a -1. I set up a small program to emulate the behavior and am including an example below. The namelist input string looks like the following: $NLA  a = 1,  ! This is a comment  b = 1, $ ---- Example Program to Emulate Problem --- CHARACTER*255 temp INTEGER(KIND=4) :: a, b,...
BBC Radio - Codes that Changed the World - Fortran
- Steve Lionel (Intel)4
A delightful program from BBC Radio on Fortran. Downloadable for the next three weeks: http://downloads.bbc.co.uk/podcasts/radio4/codes/r4codes_20150406-1400b.mp3
intel fortran DLL is klobbering my SIGINT handler!
- Geoff G.3
Hey guys, I'm doing an integration piece between a Java front-end and a very mathy chunk of fortran we've written. We've got it being loaded and executed properly. The one annoying thing is that I'm using the JVM to subscribe to SIGINT, so I can do some persistence-ee things if the user hits Ctrl + C on one of our command line tools. This works well, except for that if I load the fortran dll after the signal handler was registered with the JVM, the fortran DLL appears to over-write the signal handler I put in with its own. Fortran's default SIGINT handler prints out this: error (200): program aborting due to control-C event Image PC Routine Line Source SOGOV1.dll 6B0B69C8 Unknown Unknown Unknown KERNELBASE.dll 772123C4 Unknown Unknown Unknown KERNEL32.DLL 74E07C04 Unknown Unknown Unknown ntdll.dll 775DB54F Unknown Unknown Unknown ntdll.dll 775DB51...
What does &quot;Service &amp; Support Renewal Pre-expiry&quot; mean
- Tai Q.1
My research group is now considering buying a IVS compiler and install it to one computer. Then I found the cheapest one is: Intel® Parallel Studio XE Composer Edition for Fortran Windows - Named-user Academic (Service & Support Renewal Pre-expiry) [Electronic Delivery] It is only $199. So what does Service & Support Renewal Pre-expiry mean? My group will use it to run some short fortran codes. So any suggestions if we buy this one?
Bug with DENYNONE specifier?
- opmkl2
For the code below I am using Intel Fortran 14.0.5.239 (64-bit) on Windows 7. Multiple images attempt to write (in orderly fashion) to a file that has been created with the SHARE='DENYNONE' attribute; and yet only the last image writes to it. I may be overlooking something here, but this behavior puzzles me. PROGRAM COARRAY_FILE_WRITE USE ISO_FORTRAN_ENV IMPLICIT NONE INTEGER :: I_IMAGE LOGICAL :: LOCK_IS_ACQUIRED TYPE(LOCK_TYPE) :: FILE_LOCK[*] ! Image 1 creates the shared file. IF (THIS_IMAGE()==1) THEN OPEN(UNIT=200,FORM='FORMATTED',FILE='Test.txt',STATUS='REPLACE',ACTION='READWRITE',SHARE='DENYNONE') END IF SYNC ALL ! Other images open the (same) shared file. IF (THIS_IMAGE()>1) THEN OPEN(UNIT=200,FORM='FORMATTED',FILE='Test.txt',STATUS='OLD',ACCESS='APPEND',ACTION='READWRITE',SHARE='DENYNONE') END IF SYNC ALL ! All images write something in the shared file, using a lock to prevent simultaneous writes. LOCK_IS_ACQUIRED = .FALS...
Подписаться на Форумы

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


Integer overflow, ifort internal compiler error
- zmi0072
I am just playing with integer overflow in fortran compilers and have found that this simple "buggy" fortran code causes internal compiler error by ifort on each of the write instruction. Gfortran detects these overflows and shows some "Error: Arithmetic overflow" during compilation. program integer_overflow implicit none write(*,*) -(-2147483647-1) write(*,*) 2000000000 + 2000000000 write(*,*) -2147483647 - 2147483647 write(*,*) 46341 * 46341 write(*,*) (-2147483647-1) / -1 end program integer_overflowWith ifort (IFORT) 15.0.2 20150121 ifort intel_bug.f90 -o intel_bug.x intel_bug.f90: catastrophic error: **Internal compiler error: floating point exception signal raised**  
ifort v15.0.2 could not pass fortran_2003_iee_test
- Juncheng L.1
Hi all, I compiled this file with following commands: ifort fortran_2003_ieee_test.F And the error is: fortran_2003_ieee_test.F(39): error #6503: This keyword is invalid for this intrinsic procedure reference.   [UNIT]       CALL FLUSH (UNIT=6) ------------------^ compilation aborted for fortran_2003_ieee_test.F (code 1) Here's the code:       PROGRAM fortran_2003_test                USE , INTRINSIC :: IEEE_EXCEPTIONS       IMPLICIT NONE       TYPE bunch_of_stuff          INTEGER,POINTER,DIMENSION(:) :: i          REAL   ,POINTER,DIMENSION(:) :: x          LOGICAL,POINTER,DIMENSION(:) :: l       END TYPE bunch_of_stuff       TYPE outer_wrapper          TYPE(bunch_of_stuff), ALLOCATABLE, DIMENSION(:) :: ddt_things       END TYPE outer_wrapper       TYPE(outer_wrapper), DIMENSION(15) :: combo       REAL :: x , y , z       INTEGER :: return_code       CHARACTER (LEN=256) :: my_shell       x = 1.e+10       y = 1.e-10       z = x + y       ALLOCATE(combo(1)%ddt_things(10)) ...
ifort fails silently with nested TBP call
- Ramanathan V.2
Hello, I'm using: $ ifort --version ifort (IFORT) 15.0.0 20140723 Copyright (C) 1985-2014 Intel Corporation.  All rights reserved.The following Fortran code: module B_mod type :: t_B contains procedure, pass :: foo_B procedure, pass :: bar_B end type t_B interface subroutine foo_B(this) import :: t_B class(t_B) :: this end subroutine foo_B end interface interface subroutine bar_B(this) import :: t_B class(t_B) :: this end subroutine bar_B end interface end module B_mod module A_mod use B_mod, only : t_B type :: t_A type(t_B) :: b contains procedure, pass :: foo_A end type t_A interface subroutine foo_A(this) import :: t_A class(t_A) :: this end subroutine foo_A end interface end module A_mod program main use A_mod, only : t_A integer :: ierror type(t_A) :: a call a%foo_A() end program main subroutine foo_A(this) use A_mod, only : t_A class(t_...
Backspacing through segmented files instead of rewind
- Dan U.1
Hi, I am having some trouble trying to adapt some fortran code to BACKSPACE through unformatted segmented files. My code exists as a few separate programs, the first creates these very large, unformatted files, which are then read in by a second program. My first modification was to store these files as segmented, as I was having issues with reading in the data correctly on the next step. I'm not too clued up with the technicalities but my understanding was that the data I was writing (which is not fixed length) might have been exceeding the record length, leading to some gibberish data being into the second program. Having these files segmented appeared to fix this issue. My current issue though is something else. These files are very large and in my second program the records are read in, and the record data is then used for calculations. It is necessary for me to step back over records to reread them at certain points, and in these instances the desired record to be read is alway...
File I/O Overhead at Intel Fortran 13 and Higher Versions
- Soon-Heum K.4
Hi! I encounter the I/O performance drop at Intel compiler version 13 and onwards. The MPI code operates a simple read from the mesh file in the following way:       READ(IUNIT,IOSTAT=IOSTAT) &            ((FOO,ISIZ=1,NS),IDIM=1,DL-1), &            ((FOO,ISIZ=1,SL-1), &            (DATA(ISIZ-SL+1,IDIM-DL+1),ISIZ=SL,SU), &            (FOO,ISIZ=SU+1,NS), &            IDIM=DL,DU), &            ((FOO,ISIZ=1,NS),IDIM=DU+1,ND) where FOO, DATA(:,:) are real variables, NS, DL, SL... are predefined parameters. What it really does is, it reads the entire data file and stores the subzone which is assigned to that specific processor. Therefore NS, ND are globally fixed and SL, SU, DL, DU differ from processor to processor. All processors access the same file. Ideally, the entire read operation should complete by a single instruction. The symptom is that, the read performance is really bad if the code is compiled with Intel Fortran 13 or higher version, while the ov...
Linking against acml
- may.ka3
Hi there, I am running into problems linking against acml 5.3.1 with ifort 14.0.1 while "gfortran -o TestACML TestACML.f90 -L /opt/acml5.3.1/gfortran64_int64/lib/" compiles without error, "ifort -o TestACML TestACML.f90 -L/opt/acml5.3.1/ifort64_int64/lib/" produces: /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/for_main.o: In function `main': /export/users/nbtester/efi2linux_nightly/branch-14_0/20140423_000000/libdev/frtl/src/libfor/for_main.c:(.text+0x31): undefined reference to `__intel_new_feature_proc_init' /tmp/ifortWpNhTz.o: In function `MAIN__': TestACML.f90:(.text+0x1f): undefined reference to `__intel_new_feature_proc_init' /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libifcore.a(for_init.o): In function `for__signal_handler': for_init.c:(.text+0x8ce): undefined reference to `_intel_fast_memmove' for_init.c:(.text+0x8e7): undefined reference to `_intel_fast_memmove' for_init.c:(.text+0x900): undefined reference to `_intel_fast_memmove' for...
Fortran 2003 features not recognize for ifort 15.0.2
- Juncheng L.1
Hi all, I have been compiling WRF-chem using ifort 15.0.2. After configuring WRF, there are some warnings indicate that ifort does not recognize part of FORTRAN 2003 features. But It is claimed(by Wiki) that ifort has full support of FORTRAN 2003 since the release of 15.0. The output of configuration is in the attachment. Any ideas to solve this problem? Many thanks!
Internal compiler error on invalid pointer remapping
- Harald4
The following (invalid) code leads to a "catastrophic error": integer, pointer :: a(:) integer, target :: b a(0:0) => b end % ifort -V ifort_pointer_remapping.f90 Intel(R) Fortran Compiler XE for applications running on IA-32, Version 15.0.2.164 Build 20150121 Copyright (C) 1985-2015 Intel Corporation. All rights reserved. FOR NON-COMMERCIAL USE ONLY Intel(R) Fortran 15.0-1793 ifort_pointer_remapping.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 ifort_pointer_remapping.f90 (code 1)  
Подписаться на Форумы