Intel® Intel® Software Development Products for Intel® Platforms and Technologies
image
Intel® Visual Fortran Compiler 10.1, Professional and Standard Editions
for Windows*
image image
Overview

Features in Depth Print Print
Features

Compatability
New in This Release System Requirements
image image

image Overview image
Intel® Visual Fortran Compiler 10.0 for Windows*

Intel® C++ Compiler 10.0 for Windows*

Intel® Visual Fortran Compiler Professional Edition for Windows*: The features you need to create high-performance multi-threaded apps for multi-core systems. The product is offered in two forms:

Professional Edition includes:

  • Intel® Visual Fortran Compiler for Windows for IA-32, Intel® 64, and IA-64 architectures
  • Intel® Math Kernel Library
  • Microsoft*Visual Studio* 2005 Premier Partner Edition

Professional Edition with IMSL* includes:

  • Intel® Visual Fortran Compiler for Windows for IA-32, Intel® 64, and IA-64 architectures
  • Intel® Math Kernel Library
  • Microsoft*Visual Studio* 2005 Premier Partner Edition
  • VNI’s IMSL Fortran Library for Windows

Both offer a great savings over individual components.

Product Brief

Attention Fortran developers – Intel® Compiler Suite Professional Edition for Windows* includes the Intel® Visual Fortran compiler, and Intel® Math Kernel Library plus the Intel® C++ Compiler, Intel® Threading Building Blocks and Intel® Integrated Performance Primitives. A great package for developers who need Fortran and C++. Take advantage of a significant price savings over individual components. The suite does not include Microsoft Visual Studio* Premier Partner Edition or IMSL.

Bildbeschreibt, wie man mit Intel Fortran Parallelismus ausdrücken kann.

back to top

image Features image
  • Microsoft Visual Studio* 2005 Premier Partner Edition is included in commercial license purchases to provide a complete Fortran development environment for developers who do not use Visual Studio. (This is not included in evaluation or student versions. Also, some features of the full Visual Studio are not included. Please review the System Requirements, section1.2.2, note 2 for details). Already have Visual Studio 2005 or 2008? Intel Visual Fortran is compatible with it.
  • Multi-Threaded Application Support including new in 11.0, OpenMP 3.0 (data- and now task-parallelism), and auto-parallelization for simple and efficient software threading.
  • Auto-vectorization parallelizes code to utilize the Streaming SIMD Extensions (SSE) instruction set architectures (SSE, SSE2, SSE3, SSSE3, and SSE4) of our latest processors.
  • High-Performance Parallel Optimizer (HPO) restructures and optimizes loops to ensure that auto-vectorization, OpenMP, or auto-parallelization make best use of cache and memory accesses, SIMD instruction sets, and multiple cores. Compiles in a single pass, improving compile-time and producing more reliable code.
  • Interprocedural Optimization (IPO) dramatically improves performance of small- to mid-sized functions, especially in programs containing calls within loops. IPO analysis gives feedback on vulnerabilities and coding errors, such as uninitialized variables or OpenMP API issues, which cannot be detected as well by other compilers.
  • Profile-guided Optimization (PGO) improves application performance by reducing instruction-cache thrashing, reorganizing code layout, shrinking code size, and reducing branch mispredictions.
  • Intel® Math Kernel Library includes optimized and scalable math routines for maximizing performance and seamlessly provides forward scaling from current to future many-core platforms.
  • New integrated, simplified installation gets you going with all capabilities quickly and easily. Simplified custom install makes it easy to identify just the components you want.
  • Ongoing Premier Support now includes online community support forums to speed information flow, in addition to private, password-protected accounts. Technical support, interactive issues management, access to technical and application notes, product updates and more with every commercial and academic license.
).
Performance

Intel® Visual Fortran Compiler Professional Edition lets you choose the tools that get most out of multi-core processors by combining the Fortran compiler and its built-in optimization, threading, and security capabilities with a highly optimized math library that simplifies the introduction of robust, scalable, multi-threaded math functions.



Advanced Optimization Features
Software compiled using the Intel Visual Fortran Compiler for Windows benefits from advanced optimization features, a few of which are explained briefly here, with links to more complete descriptions:
Multi-Threaded Application Support, including OpenMP* and auto-parallelization for simple and efficient software threading.
Auto-vectorization parallelizes code to utilize the Streaming SIMD Extensions (SSE) instruction set architectures (SSE, SSE2, SSE3, SSSE3, and SSE4) of our latest processors.
High-Performance Parallel Optimizer (HPO)restructures and optimizes loops to ensure that auto-vectorization, OpenMP, or auto-parallelization best utilizes the processor’s capabilities for cache and memory accesses, SIMD instruction sets, and for multiple cores. This revolutionary capability, new in Version 10, combines vectorization, parallelization and loop transformations into a single pass which is faster, more effective and more reliable than prior discrete phases.
Interprocedural Optimization (IPO)dramatically improves performance of small- or medium-sized functions that are used frequently, especially programs that contain calls within loops. The analysis capabilities of this optimizer can also give feedback on vulnerabilities and coding errors, such as uninitialized variables or OpenMP API issues, which cannot be detected as well by compilers which rely strictly on analysis by a compiler front-end.
Profile-guided Optimization (PGO) improves application performance by reducing instruction-cache thrashing, reorganizing code layout, shrinking code size, and reducing branch mispredictions.
back to top

image New in This Release image
 
Feature

Benefit

Visual Studio* Support Developers with Microsoft* Visual Studio* 2005 or 2008 can protect their investment by just plugging in Intel® Visual Fortran. For commercial licensees who don’t use Visual Studio, the Professional Edition includes Microsoft Visual Studio 2005 Premier Partner Edition and, of course, offers command-line usage. The Premier Partner Edition is not included in evaluation or student licenses. Please see the Release Notes  for details.
VNI’s IMSL* Fortran Library for Windows The gold standard for numerical computing, the IMSL Fortran Library for Windows provides over 1,000 mathematical and statistical algorithms covering numerical optimization, nonlinear equations, LAPACK, BLAS and more. (Please refer to the IMSL License Agreement )
Compiler and Debugger
  • More Fortran 2003 Support
Additional support includes ENUMERATOR, IEEE Floating Point Exception Handling, ALLOCATE extensions, array constructor changes and more to bring your Fortran apps closer to the standard. These join C interoperability features introduced in the last release to make it easier to develop mixed-language applications.
  • OpenMP* 3.0
OpenMP raises the parallelism abstraction away from the API, simplifying threading and making code more portable. Previously limited to loop-based data-parallelism, the new 3.0 standard simplifies both data and task parallelism.
  • SSE2 enabled by default
Take advantage of new Intel Streaming SIMD Extensions – automatically – through the compiler. No messy low-level coding to get the most from Intel® processors. Resetable for other hosts/targets.
  • Parallel compilation
Supports your build by appropriately allocating files to available processors to take advantage of multicore processors and speed you through your edit/compile/debug cycle.
  • Optimization Reports
More detailed optimization diagnostics for users who want to use our advanced optimizations to help the compiler do a better job of tuning their applications. The new VTune™ Analyzer 9.1 can filter optimization reports to help guide optimization efforts.
  • Intel® COM Server Wizard
An update of the popular feature from Compaq* Visual Fortran that enables you to create Fortran applications that are usable from the Microsoft .NET* managed code environment.
  • Static Verifier
Find and analyze source file issues. Diagnostics include issues with OpenMP directives, boundary violations, memory corruptions, memory leak, buffer overflow and uninitialized memory.
Intel® Math Kernel Library (Intel® MKL)

  • New “layered” architecture
The new architecture provides maximum support for different development environment configurations and processors in a single package.

  • New threading layer
Link to the version of this layer that matches your development environment and rest assured that Intel MKL will not have threading incompatibilities with the threading in your application.

  • Discrete Fourier Transform Interface
The DftiCopyDescriptor function has been added for convenience when using the FFTs. The size of statically linked executables calling DFTI has been reduced significantly and complex storage is now available for real-to-real transforms.

  • LAPACK enhancement
The capability to track and/or interrupt the progress of lengthy LAPACK computations has been added. A function called mkl_progress can be defined in a user application, which will be called regularly from a subset of the MKL LAPACK routines.

  • VML extensions
With performance in mind, all VML functions are now threaded. And a new “Enhance Performance” mode is offered for applications where math-function inaccuracies don’t dominate parameter inaccuracies (e.g., Monte Carlo simulations and media applications).

  • Sparse BLAS extensions
Improvements include threaded level-3 sparse BLAS triangular solvers and support for all data types (single precision, complex and double complex).

Simplified installation

Streamlined, simplified complete installation for a seamless one-step installation of all components.

New Online Support Community

Our enhanced online community support forums and knowledge base search capabilities help you find answers more quickly. This is in addition to private, password-protected accounts available with Premier Support. Visit the Support Resources pageto learn more!

Processor Support

The addition of support for Intel® Atom™ processors continues to future-proof your investment with assurance of support for each successive generation of processors. That's a key advantage in a world where new hardware platforms come to market with awesome speed. For more details, see the Release Notes.

back to top

image Advanced Optimization Features in Depth image
This section gives detailed descriptions of the compiler’s advanced optimization features.
Multi-Threaded Application Support
OpenMP and auto-parallelization help convert serial applications into parallel applications, allowing you to take full advantage of multi-core technology like the Intel® Core™ Duo processor and Dual-Core Intel® Itanium® 2 processor, as well as symmetric multi-processing systems:
OpenMP* is the industry standard for portable multithreaded application development. It is effective at fine-grain (loop-level) and large-grain (function-level) threading.

OpenMP directives are an easy and powerful way to convert serial applications into parallel applications, enabling potentially big performance gains from parallel execution on multi-core and symmetric multiprocessor systems.
Auto Parallelization improves application performance on multiprocessor systems by means of automatic threading of loops. This option detects parallel loops capable of being executed safely in parallel and automatically generates multithreaded code.

Automatic parallelization relieves the user from having to deal with the low-level details of iteration partitioning, data sharing, thread scheduling, and synchronizations. It also provides the performance benefits available from multiprocessor systems and systems that support Hyper-Threading Technology (HT Technology).
For more information on multi-threaded application support, visit Intel's Threading Developer Center.
back to top

High Performance, Parallel Optimizer (HPO)

This revolutionary capability, new in Version 10, combines automatic vectorization, automatic parallelization and loop transformations into a single pass which is faster, more effective and more reliable than prior discrete phases.

HPO optimizes and restructures program loops to ensure that auto-parallelization, OpenMP, and auto-vectorization occur smoothly in conjunction with each other. HPO’s optimization technology utilizes a unique cost-benefit analysis to make the right optimization decisions for the given program and loop structure. It will perform many transformations such as loop unrolling, peeling, interchange, splitting, etc., as well as other optimizations to ensure the processor’s cache architecture, SIMD instruction set, and multiple cores are well utilized.
back to top

Automatic Vectorizer

Vectorization automatically parallelizes code to maximize underlying processor capabilities. This advanced optimization analyzes loops and determines when it is safe and effective to execute several iterations of the loop in parallel by utilizing MMX™, SSE, SSE2, SSE3, SSSE3, and SSE4 instructions. Figure 1 is a graphical representation of a vectorized loop that shows four iterations computed with one SSE2 operation.

Figure 3. The Vectorizer in action
Figure 1. The Vectorizer in action

Use vectorization to optimize your application code and take advantage of these new extensions when running on Intel® processors. Features include support for advanced, dynamic data alignment strategies, including loop peeling to generate aligned loads and loop unrolling to match the prefetch of a full cache line.

back to top

Interprocedural Optimization (IPO)
Interprocedural optimization (IPO) can dramatically improve application performance in programs that contain many small- or medium-sized functions that are frequently used, especially for programs that contain calls within loops. This set of techniques, which can be enabled for automatic operation in the Intel® compilers, uses multiple files or whole programs to detect and perform optimizations, rather than focusing within individual functions.

Figure 1. The interprocedural optimization process
Figure 2. The interprocedural optimization process

The IPO process, shown in Figure 2, first requires that source files are compiled with the IPO option, creating object (.o) files that contain the intermediate language (IL) used by the compiler. Upon linking, the compiler combines all of the IL information and analyzes it for optimization opportunities. Typical optimizations made as part of the IPO process include procedure inlining and re-ordering, eliminating dead (unreachable) code, and constant propagation, or the substitution of known values for constants. IPO enables more aggressive optimization than what is available at the intra-procedural level, since the added context of multiple procedures makes those more-aggressive optimizations safe.

The analysis capabilities of IPO can also give feedback on vulnerabilities and coding errors, such as uninitialized variables, which cannot be detected as well by compilers which rely strictly on analysis by a compiler front-end.

back to top

Profile-Guided Optimization (PGO)
The Profile-guided optimization (PGO) compilation process enables the Intel Fortran Compiler to take better advantage of the processor microarchitecture, more effectively use instruction paging and cache memory, and make better branch predictions. It improves application performance by reorganizing code layout to reduce instruction-cache thrashing, shrinking code size, and reducing branch mispredictions.

PGO is a three-stage process, as shown in Figure 3. Those steps include 1) a compile of the application with instrumentation added, 2) a profile-generation phase, where the application is executed and monitored, and 3) a recompile where the data collected during the first run aids optimization. A description of several code size influencing profile-guided optimizations follows:

Basic block and function ordering — Place frequently-executed blocks and functions together to take advantage of instruction-cache locality.
Aid inlining decisions — Inline frequently-executed functions so the increase in code size is paid in areas of highest performance impact.
Aid vectorization decisions — Vectorize high trip count and frequently-executed loops so the increase in code size is mitigated by the increase in performance.
Figure 2. Profile-guided Optimization
Figure 3. Profile-guided optimization
back to top

image Compatibility and Flexibility image
Standards Compliance and Broad Compatibility

The Intel® Visual Fortran Compiler is designed to work with Microsoft development products and depends on certain components of these. It integrates with Microsoft Visual Studio* 2005, as well as Visual Studio .NET* 2003, and provides expanded 32-bit and 64-bit multi-core processor support.

The Intel® Visual Fortran Compiler 10.0 for Windows fully supports the Fortran 95 language standard, as well as the previous standards Fortran 90, Fortran 77 and Fortran IV. It also includes many features from the Fortran 2003 language standard, as well as numerous popular language extensions. Significant supported language extensions include:

Quadruple precision REAL data type REAL(16)
STRUCTURE, RECORD, UNION, MAP syntax for user-defined types
Directives and functions to enhance mixed-language application development
Binary stream I/O
For a complete list of language features, see the product documentation.

The Intel Visual Fortran Compiler 10.0 for Windows also enhances programmer productivity with features such as:
Run-time array and string bounds checking
Cross-file procedure interface checking
Run-time uninitialized variable detection
Error traceback with file name and line number
The compiler also features extensive compatibility with Compaq Visual Fortran* including language extensions, predefined modules, and library routines.
back to top

Winning Performance across Application Domains
The Intel Visual Fortran Compiler for Windows delivers exceptional performance, usability, and business advantages to a wide variety of software markets.

Next-generation data-intensive application developers benefit Next-generation data-intensive application developers benefit from dramatic performance optimizations using the Intel compilers to decrease latency and processing times, while also allowing software architects to add additional features without unacceptable impacts to performance.
Scientific, research, and related applications Scientific, research, and related applications benefit from fast compile times, high-performance execution, and solid technical support. Numerically intensive software can make excellent use of the parallelism in Intel processor-based platforms.
back to top

image System Requirements image

This section provides system requirements to develop applications for three different hardware platforms, which are described below.

Architecture Terminology
Intel compilers support three platforms: general combinations of processor and operating system type. This section explains the terms that Intel uses to describe the platforms in its documentation, installation procedures, and support site.

IA-32 architecture - IA-32 Architecture refers to systems based on 32-bit processors generally compatible with the Intel Pentium® II processor, (for example, Intel® Pentium® 4 processor or Intel® Xeon® processor), or processors from other manufacturers supporting the same instruction set, running a 32-bit operating system.

Intel® 64 architecture - Intel® 64 Architecture refers to systems based on IA-32 architecture processors which have 64-bit architectural extensions, for example, Intel® Core™2 processor family or Intel® Xeon® processor), running a 64-bit operating system such as Microsoft Windows XP* Professional x64 Edition or Microsoft Windows Vista* x64. If the system is running a 32-bit version of the Windows operating system, then IA-32 architecture applies instead. Systems based on the AMD* Athlon64* and Opteron* processors running a 64-bit operating system are also supported by Intel compilers for Intel® 64 architecture applications.

IA-64 architecture - Refers to systems based on the Intel® Itanium® 2 processor running a 64-bit operating system.

Native and Cross-Platform Development
The term "native" refers to building an application that will run on the same platform that it was built on, for example, building on IA-32 architecture to run on IA-32 architecture. The term "cross-platform" or "cross-compilation" refers to building an application on a platform type different from the one on which it will be run, for example, building on IA-32 architecture to run on Intel 64 architecture. Not all combinations of cross-platform development are supported, and some combinations may require installation of optional tools and libraries.

The following table describes the supported combinations of compilation host (system on which you build the application) and application target (system on which the application runs).


Host \ Target IA-32 architecture Intel® 64 architecture IA-64 architecture
IA-32 architecture Yes Yes Yes
Intel® 64 architecture Yes Yes Yes
IA-64 architecture No No Yes

This section provides system requirements to develop applications for various hardware platforms:
Requirements to develop applications to run on systems with IA-32 or IntelR 64 architecture-based processors or AMD processors
Requirements to develop applications to run on systems with IA-64 architecture-based processors (Intel® Itanium® processors)
Target system requirements to run applications

Requirements to develop applications to run on systems with IA-32 or Intel® 64 architecture-based processors or AMD processors


Host Hardware Requirements
Component Minimum Recommended
Processor
(any one required)

A system based on an IA-32 architecture-based processor (minimum 450 MHz Intel® Pentium® II processor or greater), a system based on an Intel 64 architecture-based processor, or a system based on an AMD* Athlon* or AMD Opteron* processor

Intel Core™ processor
Intel® Xeon® processor
RAM
Other: 512 MB
Other: 1 GB
Disk Space
1 GB
1 GB
back to top

Host Software Requirements
Operating System
Microsoft Windows Vista*, Windows* XP, or Windows Server* 2003
Other Software

Installation of additional Microsoft development software listed below is either optional or required, depending on your license type. It is optional for new or support renewal purchases of version 10.0 or 10.1 Commercial and Academic licenses and for users of Intel® Visual Fortran Compiler Professional Edition 9.1 or earlier with current support licenses. For all other license types including Evaluation, Student, and for users of Intel® Visual Fortran Compiler Standard Edition 9.1 and earlier, you must have one of the following Microsoft development products installed prior to installing Intel Visual Fortran Compiler 10.0 or 10.1:

Microsoft Visual Studio* 2005 Standard, Professional or Team System Edition (with C++ component installed), or
Microsoft Visual Studio .NET* 2003 (with C++ component installed, IA-32 architecture only), or
Microsoft Visual C++ .NET* 2003 Standard Edition (IA-32 architecture only) or
Microsoft Windows Server 2003 R2 Platform SDK or Windows Software Development Kit Update for Windows Vista* (Intel® 64 architecture only) If this Platform SDK is installed, you can develop applications for the Intel® 64 platform using command line tools.

Microsoft Visual C++ 2005 Express Edition (IA-32 architecture only) This enables use of the compiler from the command line only; the visual development environment, including the Visual Studio Debugger, is not enabled. For Fortran development with Visual C++ 2005 Express Edition, you must also install Microsoft Windows Server 2003 R2 Platform SDK or Windows Software Development Kit Update for Windows Vista*. If you choose this option, download and install the w_fc_x_10.1.xxx_IA32.exe package only; do not install a package that includes Microsoft Visual Studio Premier Partner Edition.

On IA-32 and Intel® 64 architecture systems, if Microsoft Visual Studio is not found and the CD or w_fc_x_10.1.xxx.exe download installer is used, Microsoft Visual Studio 2005 Premier Partner Edition will be installed. Installers for single architectures and those with NOVSPPE in the name do not install Visual Studio 2005 Premier Partner Edition.

Note: Microsoft Visual Studio .NET 2002* is not supported

back to top

Requirements to develop applications to run on systems with IA-64 architecture-based processors (Intel® Itanium® processors)


Host Hardware Requirements
Component Minimum Recommended
Processor
(any one required)

A system based on an IA-32 architecture-based processor (minimum 450 MHz Intel® Pentium® II processor or greater), a system based on an Intel 64 architecture-based processor, a system based on an IA-64 architecture-based processor, or a system based on an AMD* Athlon* or AMD Opteron* processor

Intel Core™ processor
Intel® Xeon® processor
RAM
512 MB
1 GB
Disk Space
500 MB
1 GB
back to top

Host Software Requirements
Operating System
Microsoft Windows Vista*, Windows* XP, or Windows Server* 2003
Other Software
Microsoft Visual Studio 2005 Team System Edition with C++ component installed
Microsoft Windows Server 2003 R2 Platform SDK
Microsoft Visual Studio is not supported for installation on an IA-64 architecture-based system
If Microsoft Visual Studio 2005 Team System Edition is not installed, only the command line development tools are available
back to top

Target system requirements to run applications
Platform Requirements
IA-32 architecture-based systems
An IA-32 architecture-based system running Windows XP, Windows Vista or Windows Server 2003. Some applications may run on older versions of Windows - you are responsible for testing compatibility. IA-32 architecture-based applications may also be run on an Intel® 64 architecture-based system as described below.
Intel 64 architecture-based systems
A system based on an Intel® 64 architecture-based processor or an AMD Opteron processor running Windows Server* 2003 x64 Edition, Windows* XP Professional x64 Edition or Windows Vista* 64-bit
IA-64 architecture-based systems

A system based on an Intel® Itanium® processor running Windows XP 64-bit or Windows Server* 2003 (Enterprise and Datacenter Editions)

Notes:
Running applications on systems that do not have Intel Visual Fortran Compiler installed may require installation of redistributable DLLs on the target system.

For applications which were built on a different platform, using cross-compilation, the Microsoft run-time DLLs on the target system must be the same or newer as those provided with the Platform SDK used for building the application

back to top

Notes:
The above lists of processor model names are not exhaustive - other processor models correctly supporting the same instruction set as those listed are expected to work. Please contact Intel® Premier Support if you have questions regarding a specific processor model.

Some optimization options have restrictions regarding the processor type on which the application is run. Please see the documentation of these options for more information.

Advanced optimization options or very large programs may require additional resources such as memory and disk space.

Adobe* Reader* version 7.0 or later is required to view some of the reference documentation.

It is the responsibility of application developers to ensure that the machine instructions contained in the application are supported by the operating system and processor on which the application is to run.


Intel provides both the tools and support to enhance the performance, functionality, and efficiency of software applications.
Compatible with leading Windows* and Linux* development environments, Intel® Software Development Products are the fastest and easiest way to take advantage of the latest features of Intel processors. Intel Software Development Products are designed for use in the full development cycle, and include Intel® Performance Libraries, Intel® Compilers (C++, Fortran for Windows, Linux, and Mac OS* X), Intel® VTune™ Analyzer, Intel® Threading Tools and Intel® Cluster Tools.
The Intel® Premier Support Web site provides expert technical support for all Intel software products, product updates and related downloads. For additional product information visit: www.intel.com/software/products.
Intel, the Intel logo, and VTune are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
*Other brands and names may be claimed as the property of others.
Copyright © 2007, Intel Corporation
back to top