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 Xeon(TM) processor. Itanium-based applications correspond to the applications run on the IntelŪ Itanium(TM) processor.
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 Xeon(TM) processors.
IntelŪ Fortran Itanium(TM) Compiler for Itanium(TM)-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.
Code size optimization with -O1
Compilation time with -O2
High-level Language optimizations with -O3
For new options in this release, see New Compiler Options.
The -parallel option detects parallel loops capable of being executed safely in parallel and automatically generates multithreaded code for these loops. 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 benefit of the performance available from multiprocessor systems.
The IntelŪ Fortran Compiler supports OpenMP API version 1.1 and performs code transformation for shared memory parallel programming. The OpenMP support and auto-parallelization are accomplished with the -openmp options.
Both auto-parallelizationa 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.
The -xW or -axW compiler options generate Streaming SIMD Extensions 2 designed to execute on a PentiumŪ 4 and Xeon(TM) processor system, see Processor Dispatch Extensions Support. These options improve the performance of applications using processor-specific optimizations, which take advantage of the each processor's architecture features. The inclusion of further vectorizable loops such as threaded loops and search loops improves vectorization results. The IVDEP and VECTOR directives enhance vectorization.
The Intel Fortran Compiler can now write unformatted sequential files in big-endian format and read files produced in big-endian format. For details see Little-endian-to-Big-endian Conversion.
The Itanium architecture provides explicit parallelism, predication, speculation and other features to bring up performance to even higher results. The architecture is highly scalable to fulfill high performance server and workstation requirements.
New option -ivdep_parallel enhances performance with the new IVDEP directive.
The floating-point arithmetic options (-ipf_... series) for Itanium-based applications enable compiler to control optimizations for floating-point computations.
For IA-32 applications, levels 4 and 5 have been added to the vectorization reports with -vec_report.
For the Itanium-based applications, the -opt_report option and its varieties enable to generate optimization reports of different detail level for a number of optimizations.