Intel® Fortran Compiler for Linux* Systems User's Guide
Total Page:16
File Type:pdf, Size:1020Kb
Intel® Fortran Compiler User's Guide Intel® Fortran Compiler for Linux* Systems User's Guide Copyright © 1996 - 2003 Intel Corporation. All rights reserved. Document No. FL-710-01 1 Intel® Fortran Compiler User's Guide Disclaimer and Legal Information Information in this document is provided in connection with Intel products. No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted by this document. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in medical, life saving, or life sustaining applications. This Intel® Fortran Compiler User's Guide as well as the software described in it is furnished under license and may only be used or copied in accordance with the terms of the license. The information in this document is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Intel Corporation. Intel Corporation assumes no responsibility or liability for any errors or inaccuracies that may appear in this document or any software that may be provided in association with this document. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. Intel SpeedStep, Intel Thread Checker, Celeron, Dialogic, i386, i486, iCOMP, Intel, Intel logo, Intel386, Intel486, Intel740, IntelDX2, IntelDX4, IntelSX2, Intel Inside, Intel Inside logo, Intel NetBurst, Intel NetStructure, Intel Xeon, Intel Centrino, Intel XScale, Itanium, MMX, MMX logo, Pentium, Pentium II Xeon, Pentium III Xeon, Intel Pentium M, and VTune are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. * Other names and brands may be claimed as the property of others. Copyright © Intel Corporation 1996 - 2003. Portions Copyright © 2001 Compaq Information Technologies Group, L.P. 2 Intel® Fortran Compiler User's Guide Welcome to Intel® Fortran Compiler The Intel® Fortran Compiler version 7.1 compiles code targeted for the IA-32 Intel® architecture and Intel® Itanium® architecture. The Intel Fortran Compiler has a variety of options that enable you to use the compiler features for higher performance of your application. In addition to the Getting Started with the Intel® Fortran Compiler section included with this document, for installing and more details on getting started, see Intel® Fortran Compiler Installing and Getting Started document. Major Components of the Intel® Fortran Compiler Product Intel® Fortran Compiler product includes the following components for the development environment: ! Intel® Fortran Compiler for 32-bit Applications ! Intel® Fortran Itanium® Compiler for Itanium-based Applications ! Intel Debugger (IDB) The Intel Fortran Compiler for Itanium-based applications includes Intel® Itanium® Assembler and Intel Itanium® Linker. This documentation assumes that you are familiar with the Fortran programming language and with the Intel® processor architecture. You should also be familiar with the host computer's operating system. What's New in This Release This document combines information about Intel ® Fortran Compiler for IA-32-based applications and Itanium®-based applications. IA-32-based applications correspond to the applications run on any processor of the Intel® Pentium® processor family generations, including the Intel® Xeon(TM) processor and Intel® Pentium® M Processor. Itanium-based applications correspond to the applications run on the Intel® Itanium® and Itanium 2 processors. The following variations of the compiler are provided for you to use according to your host system's processor architecture and targeted architectures. ! Intel® Fortran Compiler for 32-bit Applications is designed for IA-32 systems, and its command is ifc. The IA-32 compilations run on any IA-32 Intel processor and produce applications that run on IA-32 systems. This compiler can be optimized specifically for one or more Intel IA-32 processors, from Intel® Pentium® to Pentium 4 to Celeron(TM) and Intel® Xeon(TM) processors. 3 Intel® Fortran Compiler User's Guide ! Intel® Fortran Itanium® Compiler for Itanium®-based Applications (native compiler) is designed for Itanium architecture systems, and its command is efc. This compiler runs on Itanium-based systems and produces Itanium-based applications. Itanium- based compilations can only operate on Itanium-based systems. Improvements and New Features in 7.1 ! New Intel® Pentium® M processor support with -axW and -xW options. ! Support of Cray* pointers within the Fortran modules ! New options: -complex_limited_range and -[no]stack_temps Improvements and New Features in 7.0 ! New Intel® Itanium® and Itanium 2 processors support with -tpp1 and -tpp2 options ! New OpenMP* option, -openmp_stubs ! Support of .mod files for parallel invocations and the -module option ! Extended optimization directives The Intel Fortran Compiler has a variety of options that enable you to use the compiler features for higher performance of your application. For new options in this release, see New Compiler Options. Note Please refer to the Release Notes for the most current information about features implemented in this release. Hyper-Threading Technology Support Both auto-parallelization and OpenMP features support Hyper-Threading Technology. Hyper-Threading Technology enables the operation of multiple logical processors to share execution resources in each physical processor package. It increases system throughput when executing multithreaded applications or when multitasked workloads are running concurrently. OpenMP* Support The Intel® Fortran Compiler supports OpenMP API version 2.0 and performs code transformation for shared memory parallel programming. The OpenMP support is accomplished with the -openmp option. In addition, the functionality of the OpenMP has been reinforced with new option, 4 Intel® Fortran Compiler User's Guide -openmp_stubs. Optimizing for Intel® Itanium® 2 Processor Family New options -tpp1 and -tpp2 provide specific support for Intel® Itanium® and Itanium 2 processors. Support of Parallel Invocations The programs in which modules are defined support valuable compilation mechanisms, such as parallel invocations with make file for Inter-procedural optimizations of multiple files and of the whole program. In addition, the programs that require modules located in multiple directories, can be compiled using the -Idir option to locate the .mod files (modules) that should be included in the program. The new -module option specifies the directory to route the module files. Extended Optimization Directives In addition to the compiler options, Intel Fortran Compiler supports Intel -extended language directives perform various tasks during compilation to enhance optimization of application code. A few directives for software pipelining, loop unrolling and prefetching have been added. Features and Benefits The Intel® Fortran Compiler enables your software to perform the best on Intel architecture - based computers. Using new compiler optimizations, such as the whole-program optimization and profile-guided optimization, prefetch instruction and support for Streaming SIMD Extensions (SSE) and Streaming SIMD Extensions 2 (SSE2), the Intel Fortran Compiler provides high performance. Feature Benefit High Performance Achieve a significant performance gain by using optimizations Support for Streaming Advantage of new Intel microarchitecture SIMD Extensions Automatic vectorizer Advantage of parallelism in your code achieved automatically Parallelization Automatic generation of multithreaded code for loops. Shared memory parallel programming with OpenMP*. Floating-point Improved floating-point performance optimizations Data prefetching Improved performance due to the accelerated data delivery Interprocedural Larger application source files perform better optimizations 5 Intel® Fortran Compiler User's Guide Whole program Improved performance between modules in larger optimization applications Profile-guided optimization Improved performance based on profiling the frequently used procedure Processor dispatch Taking advantage of the latest Intel architecture features while maintaining object code compatibility with previous generations of Intel® Pentium® Processors. Product Web Site and Support For the latest information about Intel Fortran Compiler, visit the Intel® Fortran Compiler home page where you can find: ! Fortran compiler performance-related information ! Marketing information ! Internet-based support and resources ! Intel Architecture Performance Training Center For general information on Intel® software development products, visit http://www.intel.com/software/products/index.htm. For specific details on the Itanium® architecture, visit the web site at http://developer.intel.com/design/itanium/index.htm?iid=search+Itanium&. System Requirements The Intel® Fortran Compiler can be run on personal computers that are based on Intel ® architecture processors. To compile