Advanced Performance Features
- High-Performance Parallel Optimizer (HPO) offers an improved ability to analyze, optimize, and parallelize more loop nests. This revolutionary capability combines vectorization, parallelization, and loop transformations into a single pass that is faster, more effective, and more reliable than prior discrete phases.
- Automatic Vectorizer analyzes loops and determines when it is safe and effective to execute several iterations of the loop in parallel. Vectorization and auto-parallelization have been enhanced for broader applicability, improved application performance. It also offers insights into your code when you use the guided autoparallelization (GAP) feature. In addition, SIMD pragmas can be used for added user control of vectorization.
- Guided Auto-Parallelization (GAP) is a unique capability in both Intel C++ and Intel Fortran compilers that suggests ways to improve auto-vectorization as well as auto-parallelization and data transformation. When used, GAP builds a report that may include suggestions for source code changes, use of pragmas, or use of specific compiler options. This is a powerful tool that can help you extend the auto-vectorization and auto-parallelism capabilities of the compiler.
- Interprocedural Optimization (IPO) Interprocedural optimization is a simple switch setting that can speed application performance.. It can dramatically improves performance of small- or medium-sized functions that are used frequently, especially programs that contain calls within loops. It speeds application performance by inlining your code – a process that logically 'lines up' all the components of your application to speed execution.
- Loop Profiler is part of the compiler and can be used to generate low overhead loop and function profiling to show hotspots and where to introduce threads.
- Profile-Guided Optimization (PGO) is a multi-step process that optimizes application performance based on user workload. It improves application performance by reducing instruction-cache thrashing, reorganizing code layout, shrinking code size, and reducing branch mispredictions. PGO uses actual user workloads to understand how the application logic in your application is used. It then organizes your application according to those patterns to speed execution.
- OpenMP* 3.1 is supported to help simplify pragma-based development of parallelism in your C and C++ applications.
- Using Intel® C++ Compiler for Embedded Systems
- Introduction to Vectorization using Intel® Cilk™ Plus Extensions
Integration into Microsoft Visual Studio*, Compatibility with the gnu* tool chain
The Intel compilers that are part of Intel® Composer XE 2013 for Windows integrate into Microsoft Visual Studio* 2005, 2008 and 2010. This means all parts of Intel Composer XE 2013 – Intel C++, Intel Fortran and the Performance Libraries – are usable through Visual Studio. This preserves your knowledge of and investment in Visual Studio. Intel C++ compilers are also source and binary compatible with Microsoft Visual C++ which makes it easier to switch to Intel compilers or use them for the performance-sensitive parts of your application while continuing to use Visual C++ for other parts. It's a similar story on Linux. Compilers in Composer XE products for Linux are compatible with the gnu tool chain and are source and binary compatible with gcc
A choice of suites that include the Intel C or C++ compiler(s):
** Build, Debug and Tune Suites include C/C++ and/or Fortran compiler(s), libraries, threading assistant, error checking and performance profiler
*** Build Suites include C/C++ and/or Fortran compiler(s) and libraries.