Intel C++ Compiler

Intel C++ Compiler

Intel C++ Compiler (also known as icc or icl) describes a group of C/C++ compilers from Intel. Compilers are available for Linux, Microsoft Windows and Mac OS X.

Intel supports compilation for its IA-32, Intel 64, Itanium 2, and XScale processors. The Intel C++ Compiler for x86 and Intel 64 features an automatic vectorizer that can generate SSE, SSE2, and SSE3 SIMD instructions, the embedded variant for Intel Wireless MMX and MMX 2. [A. J. C. Bik, "The Software Vectorization Handbook" (Intel Press, Hillsboro, OR, 2004), ISBN 0974364924.] Since its introduction, the Intel C++ Compiler for IA-32 has greatly increased adoption of SSE2 in Windows application development.Fact|date=August 2008

Intel C++ Compiler further supports both OpenMP and automatic parallelization for symmetric multiprocessing. With the add-on product "Cluster OpenMP", the compiler can also automatically generate Message Passing Interface calls for distributed memory multiprocessing from OpenMP directives.

Intel C++ Compiler belongs to the family of compilers with the Edison Design Group frontend (like the SGI MIPSpro, Comeau C++, Portland Group, and others). The compiler is also notable for being widely used for SPEC CPU Benchmarks of IA-32, x86-64, and Itanium 2 architectures.

Optimizations

Intel tunes its compilers to optimize for its hardware platforms to minimize stalls and to produce code that executes in the smallest number of cycles. The Intel C++ Compiler supports three separate high-level techniques for optimizing the compiled program: interprocedural optimization (IPO), profile-guided optimization (PGO), [ [http://www.nersc.gov/vendor_docs/intel/f_ug2/pgo_ovw.htm Profile-guided Optimizations Overview] ] and high-level optimizations (HLO).

Profile-guided optimization refers to a mode of optimization where the compiler is able to access data from a sample run of the program across a representative input set. The data would indicate which areas of the program are executed more frequently, and which areas are executed less frequently. All optimizations benefit from profile-guided feedback because they are less reliant on heuristics when making compilation decisions.

High-level optimizations are optimizations performed on a version of the program that more closely represents the source code. This includes loop interchange, loop fusion, loop unrolling, loop distribution, data prefetch, and more. [http://www.ncsa.uiuc.edu/UserInfo/Resources/Software/Intel/Compilers/8.1/ug/lin1063.htm] These optimizations are usually very aggressive and may take considerable compilation time.Fact|date=September 2008

Interprocedural optimization applies typical compiler optimizations (such as constant propagation) but using a broader scope that may include multiple procedures, multiple files, or the entire program. [ [http://www.intel.com/cd/software/products/asmo-na/eng/compilers/277618.htm Intel® C++ Compiler 10.1 for Linux*] ]

Languages

Intel's suite of compilers has front ends for C, C++, and Fortran.

Early versions of ICC for Linux that predate GCC 3.x use the Dinkumware name mangling scheme in order to provide a more standard implementation of C++ than GCC 2.x. However, this makes its ABI incompatible with both GCC versions.

Architectures

* IA-32
* x86-64 (Intel 64 and AMD64)
* IA-64 i.e. the "Itanium"
* XScale

Versions

The following versions of Intel C++ Compiler have been released:

Debugging

The Intel compiler provides debugging information that is standard for the common debuggers (DWARF 2 on Linux, similar to gdb, and COFF for Windows). The flags to compile with debugging information are /Zi on Windows and -g on Linux.

Intel also provides its own debugger called "idb", which can be run in both dbx and gdb compatible command mode.

While the Intel compiler can generate a gprof compatible profiling output, Intel also provides a kernel level, system-wide statistical profiler as a separate product called VTune. VTune features an easy-to-use GUI (integrated into Visual Studio for Windows, Eclipse for Linux) as well as a command line interface.

References

External links

* [http://www.intel.com/cd/software/products/asmo-na/eng/compilers/284132.htm Intel Compilers]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Intel C++ compiler — Тип Компилятор Разработчик Intel Операционная система Linux, Microsoft Windows и Mac OS X Аппаратная платформа x86, x86 64, IA 64 Последняя версия …   Википедия

  • Intel C++ Compiler — Entwickler Intel Aktuelle Version 11.1 (23. Juni 2009) Betriebssystem Linux, Windows und Mac OS X Kategorie Compile …   Deutsch Wikipedia

  • Intel C++ Compiler — Développeur Intel Dernière version …   Wikipédia en Français

  • Intel Fortran Compiler — Тип компилятор Разработчик Intel Corporation Операционная система Windows NT, Linux, Mac OS X на x86, x86 64, IA 64 Лицензия Проприетарное программное обеспечение …   Википедия

  • Intel Fortran Compiler — Fortran compiler developed by Intel. It generates code for IA 32, Intel 64, Itanium 2 processors. Supporting operating systems: Linux, Microsoft Windows and Mac OS X.External links* [http://support.intel.com/support/performancetools/fortran/… …   Wikipedia

  • Intel C++ Compiler — Esta página o sección está siendo traducida del idioma inglés a partir del artículo Intel C++ Compiler, razón por la cual puede haber lagunas de contenidos, errores sintácticos o escritos sin traducir. Puedes colaborar con Wikipedia …   Wikipedia Español

  • Intel Fortran Compiler — Der Intel Fortran Compiler, auch IFORT oder IFC genannt, ist ein Compiler mit Frontends für Fortran, den der Prozessorhersteller Intel zur Verfügung stellt. Erhältlich ist der Compiler für die Betriebssysteme Linux, Windows und Mac OS X und die… …   Deutsch Wikipedia

  • Intel C Compiler — Der Intel C++ Compiler oder kurz ICC ist ein Compiler mit Frontends für C und C++, den der Prozessorhersteller Intel zur Verfügung stellt. Erhältlich ist die aktuelle Version 11.0 des Compilers für die Betriebssysteme Linux, Windows und Mac OS X… …   Deutsch Wikipedia

  • Intel C++ Compiler — …   Википедия

  • Intel C Compiler — …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”