CUSTOM
SOLUTIONS
 
globe
 
BACK
PRICES
ORDER
HOME
Intel® Intel® Software Development Products for Intel® Platforms and Technologies
image
Intel® C++ Compiler 11.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® C++ Compiler 11.1 for Windows*

The C++ compiler for Windows* that maximizes threaded application performance just got better. Intel® C++ Compiler Professional Edition offers the best support for creating multi-threaded applications. Only the Professional Edition offers the breadth of advanced optimization, multi-threading, and processor support that includes automatic processor dispatch, vectorization, auto-parallelization, OpenMP*, data prefetching, and loop unrolling, along with highly optimized C++ templates for parallelism, math processing, and multimedia libraries.

The Professional Edition combines a high performance compiler with Intel® Threading Building Blocks (Intel® TBB), Intel® Integrated Performance Primitives (Intel® IPP) and Intel® Math Kernel Library (Intel® MKL). While these libraries are available separately, the Professional Edition creates a strong foundation for building robust, high performance parallel code at significant price savings.

The Standard Edition compiler has the same performance and features as the Professional Edition compiler, but does not provide the multi-threaded libraries.

Note: Use of Intel C++ Compiler 11.1 for Windows* requires purchase of Microsoft development tools. Please see System Requirements for details


image Features image
Performance

Consider the Intel® C++ Compiler Professional Edition to maximize performance. The built-in optimization technologies and multi-threading support help create code that runs best on the latest multi-core processors.

Express your Parallelism with Intel® C++ Compiler Professional Edition for Windows*

Advanced Optimization Features
Software compiled using the Intel® C++ 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.
Interprocedural Optimization (IPO) dramatically improves performance of small- or medium-sized functions that are used frequently, especially programs that contain calls within loops.
Profile-guided Optimization (PGO) improves application performance by reducing instruction-cache thrashing, reorganizing code layout, shrinking code size, and reducing branch mispredictions.
Optimized Code Debugging with the Intel® Debugger improves the efficiency of the debugging process on code that has been optimized for Intel® architecture.

image New in This Release image
The Intel C++ Compiler for Windows builds on a winning foundation. Position yourself to create next-generation software, for next-generation hardware.

What's new Benefit to you

Improved Performance and Threading

New Parallel/Loop Optimizer
Improved optimization in C++
Exception Handling and Class Hierarchy analysis

Better application performance for computationally intensive applications such as graphics/digital media, financial modeling, and high-performance computing for threaded and non-threaded applications. Our new High Performance Parallel Optimizer, HPO, offers an improved ability to analyze, optimize, and parallelize more loop nests.

We’ve also improved our ability to optimize in the presence of C++ exception handling, and analyzing and optimizing C++ class hierarchies.

Security Checking and Diagnostics

Static Verifier for buffer overflow
OpenMP* API verification
Ability to create code that is less susceptible to security vulnerabilities, such as buffer overflow. The diagnostics are very helpful for novice and expert users for catching common coding errors, from unitialized variables to mismatched dummy and actual arguments to OpenMP API coding issues.
Windows Vista* and Visual Studio* .Net 2005 Support Ability to develop applications that work on the latest OS and IDE versions from Microsoft. Our Visual Studio 2005 support now includes a seamless use of property pages allowing for improved compatibility with your existing Visual Studio 2005 projects files.
Optimization Reports More detailed optimization diagnostics for users who want to use our advanced optimizations to help the compiler do a better job at tuning their applications. The new VTune™ Analyzer 9.0 can filter optimization reports to help guide optimization efforts.

Support for the Latest Multi-Core Processors
The Intel C++ Compiler provides optimization support for the very latest multi-core processors, including:

Intel® Core™2 Duo processor
Intel® Core™2 Quad processor
Quad-Core Intel® Xeon® processor 5300 series
Dual-Core Intel® Xeon® processor 3000 series
Dual-Core Intel® Xeon® processor 5000 series
Dual-Core Intel® Xeon® processor 7000 series
Dual-Core Intel® Itanium 2 processor
Intel® compilers future-proof your investment with assurance of world-class 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.

Support for auto-parallelization and OpenMP enable you to create optimized, multithreaded applications that take full advantage of multi-core processing features to deliver outstanding performance.
Professional Edition Includes not only the advanced capabilities of the compiler, but also Intel® Threading Building Blocks, Intel® Integrated Performance Primitives, and Intel® Math Kernel Library with highly optimized functions for threading, math processing, and multimedia.

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).

High Performance, Parallel Optimizer (HPO)

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.


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.


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.

Profile-Guided Optimization (PGO)
The Profile-guided optimization (PGO) compilation process enables the Intel C++ 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

Optimized Code Debugging with the Intel® Debugger
The Intel® Debugger enables optimized code debugging (i.e., debugging code that has been significantly transformed for optimal execution on a specific hardware architecture). The Intel compilers produce standards-compliant debug information for optimized code debugging that is available to all debuggers that support Intel compilers. The Intel Debugger supports multi-core architectures by enabling debugging of multithreaded applications, providing the following related capabilities:
An all-stop/all-go execution model (i.e., all threads are stopped when one is stopped, and all threads are resumed when one is resumed).
List all created threads.
Switch focus between threads.
Examine detailed thread state.
Set breakpoints (including all stop, trace, and watch variations) and display a back-trace of the stack for all threads or for a subset of threads.
The built-in GUI provides a Thread panel (on the Current Source pane) that activates when a thread is created, and that allows an operator to select thread focus and display related details.
The recently enhanced GNU Project Debugger (GDB debugger) can also be used for parallel applications.

image Compatibility and Flexibility image
Standards Compliance and Broad Compatibility

The Intel® C++ Compiler for Windows is substantially standards compliant, including support for parallelization by means of OpenMP.

It also integrates with Microsoft Visual Studio 2005, Visual Studio .NET* 2002/2003, and Visual Studio* 98, and it provides expanded 32-bit and 64-bit multi-core Intel processor support. The Intel® C++ Compiler provides the following language conformances:

ANSI/ISO standard for C language compilation (ISO/IEC 9899:1990).
ANSI/ISO standard (ISO/IEC 14882:1998) for the C++ language.
OpenMP* specification version 2.5.

Winning Performance across Application Domains
The Intel C++ 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.
Digital home, gaming, and entertainment applications Digital home, gaming, and entertainment applications are well served by the Intel C++ Compiler, as parallel processing on multi-core platforms excels at handling downloads, security, and other tasks in the background, without impacting the user experience.
Mobilized software Mobilized software benefits tremendously from the ability of mobile multi-core platforms such as those based on the Intel® Core™ Duo processor to increase performance while also protecting battery life with low power consumption.

image System Requirements image

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

Processor 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 (Intel Architecture, 32-bit) architecture refers to systems based on 32-bit processors supporting at least the Pentium® II instruction set, (for example, Intel® Core™ processor or Intel® Xeon® processor), or processors from other manufacturers supporting the same instruction set, running a 32-bit operating system ("Linux x86").

Intel® 64 architecture - Intel® 64 architecture (formerly Intel® EM64T) refers to systems based on IA-32 architecture-based processors which have 64-bit architectural extensions, (for example, Intel® Core™2 processor or Intel® Xeon® processor), running a 64-bit operating system ("Linux x86_64"). If the system is running a 32-bit version of the Linux 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-based 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 IA-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:
Host hardware requirements.
Host software requirements to develop applications for IA-32 architecture-based processors.
Host software requirements to develop applications for Intel® 64 architecture-based processors or AMD Opteron* processors.
Host software requirements to develop applications for IA-64 architecture-based processors.
Target system requirements to run applications.

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), or a system based on an AMD* Athlon* or AMD Opteron* processor
Intel Core™2 Duo processor
Intel® Pentium® 4 processor
Intel® Pentium® D processor
Intel® Xeon® processor
Intel® Itanium® 2 processor
NA
A system based on Intel® 64 architecture-based processor
NA
RAM
IA-32: 256 MB
Other: 512 MB
IA-32: 512 MB
Other: 1 GB
Disk Space
700 MB
1 GB

Host software requirements to develop applications for IA-32 architecture-based processors
Operating System
Microsoft Windows XP*, Windows Vista* or Windows Server* 2003.
Other Software
One of the following Microsoft development products must be installed:
Microsoft Visual C++* 6.0
Microsoft Visual Studio* 98
Note: Support for Microsoft Visual C++ 6.0 and Microsoft Visual Studio 98 will not be provided in future versions of Intel® C++ Compiler for Windows. Please migrate to Microsoft Visual Studio 2005 in order to assure compatibility with future Intel compiler releases.
Microsoft Visual C++ .NET* 2003 or 2005 Standard edition or above
Microsoft Visual Studio .NET 2002 or 2003, any edition, with Visual C++ component installed
For development on Windows Vista, only Microsoft Visual Studio 2005 is supported
If using Microsoft Visual C++ 2005 Express Edition, installation of the Windows Server 2003 R2 Platform SDK (Core SDK) is required for applications that make use of the Win32 API
Microsoft Visual Studio 2005 Premier Partner Edition is not supported for use with the Intel C++ Compiler
Use of command-line tools for building is supported only if one of the above required Microsoft development products is installed. The Microsoft Platform SDK alone is not sufficient.
Note: Microsoft Windows 98, Windows 98 SE, Windows Millennium Edition and Windows NT are not supported for product development.
Note: For development of IA-32 architecture-based applications on Windows XP Professional x64 Edition or Windows Server 2003 x64 Edition, only the 2003 and 2005 versions of the Microsoft development environments are supported.

Host software requirements to develop applications for Intel 64 architecture-based processors or AMD Opteron* processors
Operating System
Microsoft Windows XP*, Windows Vista* or Windows Server 2003*
Other Software
One of the following Microsoft development products must be installed:
For full visual development environment functionality, Microsoft Visual Studio 2005, Standard edition or above, with Visual C++ and "X64 Compiler and Tools" components installed (Visual Studio 2005 Standard Edition does not require explicit selection of the X64 component).
For command-line development tool use only, Microsoft Windows Server 2003 R2 Platform SDK. Download and run the PSDK appropriate to the host system (the one you are using for development.) Only the "Core SDK" is required.
Use of command-line tools for building is supported only if one of the above required Microsoft development products is installed.
Microsoft Visual Studio 2005 Premier Partner Edition is not supported for use with the Intel C++ Compiler.

Host software requirements to develop applications for IA-64 architecture-based processors
Operating System
Microsoft Windows XP*, Windows Vista* or Windows Server 2003*
Other Software
One of the following Microsoft development products must be installed:
For development on IA-32 or Intel® 64 architecture-based systems, Microsoft Visual Studio 2005, Team System edition or above, with Visual C++ and "Itanium Compiler and Tools" components installed
For development on IA-32 architecture-based systems, Microsoft Visual C++ 6.0 or Microsoft Visual Studio 98 plus the Microsoft Platform SDK as described below.
For command-line development tool use only, Microsoft Windows Server 2003 R2 Platform SDK. Download and run the PSDK appropriate to the host system (the one you are using for development.) Only the "Core SDK" is required.
Use of command-line tools for building is supported only if one of the above required Microsoft development products is installed.
Microsoft Visual Studio 2005 does not install on IA-64 architecture-based systems.

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® 2 processor running Windows Advanced Server* or Windows Server* 2003 (Enterprise and Datacenter Editions)

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*), 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.
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


The above content is Copyright © by Intel Corporation


home | back | comment | sales

Intel Elite Intel badge

CustomSolutionsPageDate: 05 October 2021
Copyright © 1997 - 2021 Custom Solutions