Intel® C and C++ Compilers

Leadership application performance

  • Rich set of components to efficiently implement higher-level, task-based parallelism
  • Future-proof applications to tap multicore and many-core power
  • Compatible with multiple compilers and portable to various operating systems

Performance without compromise

  • Industry leading performance on Intel and compatible processors.
  • Extensive optimizations for the latest Intel processors, including Intel® Xeon Phi™ coprocessor
  • Scale forward with support multi-core, manycore and multiprocessor systems with OpenMP, automatic parallelism, and Intel Xeon Phi coprocessor support
  • Patented automatic CPU dispatch feature gets you code optimized for the current running processor runs code optimized for specified processors identified at application runtime.
  • Intel® Performance Guide provides suggestions for improving performance in your Windows* applications.

Broad support for current and previous C and C++ standards, plus popular extensions

  • Language support with full C++11 and most C99 support. For details on C++11, see http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler
  • Extensive OpenMP 4.0* support

Faster, more scalable applications with advanced parallel models and libraries

Intel provides a variety of scalable, easy to use parallel models. These highly abstracted models and libraries simplify adding both task and vector parallelism. The end result is faster, more scalable applications running on multi-core and manycore architectures.

Intel® Cilk™ Plus (included with Intel C++ compiler)

  • Simplifies adding parallelism for performance with only three keywords
  • Scale for the future with runtime system operates smoothly on systems with hundreds of cores.
  • Vectorized and threaded for highest performance on all Intel and compatible processors
  • Click here for sample code, contributed libraries, open specifications and other information from the Cilk Plus community.
  • Included with Intel C++ compiler and available in GCC 4.9 development branch (with –fcilkplus and the caveat that Cilk_for is not supported yet in a Clang*/LLVM* project at http://cilkplus.github.io/.
  • More information

OpenMP 4.0 (included with Intel C++ compiler)

  • Support for most of the new features in the OpenMP* 4.0 API Specification (user-defined reductions not yet supported)
  • Support for C, C++, and Fortran OpenMP programs on Windows*, Linux*, and OS X*
  • Complete support for industry-standard OpenMP pragmas and directives in the OpenMP 3.1 API Specification
  • Intel-specific extensions to optimize performance and verify intended functionality
  • Intel compiler OpenMP libraries are object-level compatible with Microsoft Visual C++* on Windows and GCC on Linux*

Intel® Math Kernel Library

  • Vectorized and threaded for highest performance using de facto standard APIs for simple code integration
  • C, C++ and Fortran compiler-compatible with royalty-free licensing for low cost deployment
  • More information

Intel® Integrated Performance Primitives

  • Performance: Pre-optimized building blocks for compute-intensive tasks
  • A consistent set of APIs that support multiple operating systems and architectures
    • Windows*, Linux*, Android*, and OS X*
    • Intel® Quark™, Intel® Atom™, Intel® Core™, Intel® Xeon®, and Intel® Xeon Phi™ processors
  • More information

Intel® Threading Building Blocks

  • Rich set of components to efficiently implement higher-level, task-based parallelism
  • Compatible with multiple compilers and portable to various operating systems
  • More information

Intel® Media SDK 2014 for Clients

  • A cross-platform API for developing consumer and professional media applications.
  • Intel® Quick Sync Video: Hardware-accelerated video encoding, decoding, and transcoding.
  • Development Efficiency: Code once now and see it work on tomorrow's platforms.
  • More information

A drop-in addition for C and C++ development

  • Windows*
    • Develop, build, debug and run from the familiar Visual Studio IDE
    • Works with Microsoft Visual Studio* 2008, 2010, 2012 and 2013
    • Source and binary compatible with Visual C++*
  • Linux*
    • Develop, build, debug and run using Eclipse* IDE interface or command line
    • Source and binary compatible with GCC
  • OS X*
    • Develop, build, debug and run from the familiar Xcode* IDE
    • Works with Xcode 4.6, 5.0 and 5.1
    • Source and binary compatible with LLVM-GCC and Clang* tool chains
  • 32-bit and 64-bit development included

  1. Project and source in Visual Studio
  2. C/C++ aware text editor
  3. Debug C/C++ code
  4. Call Stack information
  5. Set breakpoints at certain source lines on IDE.

Outstanding support

One year of support included with purchase – gives you access to all product updates and new versions released in the support period plus access to Intel Premier Support. There's a very active user forum for help from experienced users and Intel engineers

  • Videos on Getting Started with Intel® C++ Compiler
  • Vectorization Essentials
  • Performance Essentials with OpenMP 4.0 Vectorization
  • View slides

Register for future Webinars


Previously recorded Webinars:

  • Update Now: What’s New in Intel® Compilers and Libraries
  • Performance essentials using OpenMP* 4.0 vectorization with C/C++
  • Intel® Cilk™ Plus Array Notation - Technology and Case Study Beta
  • OpenMP 4.0 for SIMD and Affinity Features with Intel® Xeon® Processors and Intel® Xeon Phi™ Coprocessor
  • Introduction to Vectorization using Intel® Cilk™ Plus Extensions
  • Optimizing and Compilation for Intel® Xeon Phi™ Coprocessor

More Tech Articles

Intel(R) System Studio Developer Story : How to configure, build and profile the Linux Kernel of Android by using the VTune
By JONG IL P. (Intel)Posted 12/23/20140
Intel(R) System Studio Developer Story: How to configure, build, debug and optimize key parts of your mobile software stack for Android* 1. Set-up and configure a development environment. (1) The target HW environment    In this article, a Minnow board MAX is used for a HW platform. The Minnow...
Building OpenCV 3.0 based embedded application using Intel® System Studio 2015
By Naveen Gv (Intel)Posted 12/09/20140
We describe how to use Intel® System Studio 2015 to build the OpenCV 3.0 based embedded application on Intel platforms. In this paper, we have considered a sample code that is part of OpenCV, how to use different components of Intel® System Studio to build OpenCV sample code.
Intel® System Studio - Multicore Programming with Intel® Cilk™ Plus
By Hans Pabst (Intel)Posted 10/06/20140
Intel System Studio not only provides a variety of signal processing primitives via Intel® Integrated Performance Primitives (Intel® IPP), and Intel® Math Kernel Library (Intel® MKL), but also allows developing high-performance low-latency custom code (Intel C++ Compiler with Intel Cilk Plus). Si...
Tutorial: Usage of Intel® System Studio with MinnowBoard MAX
By sukruth-v (Intel)Posted 09/17/20140
Article speaking about taking advantage of using Intel® System Studio with MinnowBoard MAX. MinnowBoard MAX is an open hardware embedded board designed with the Intel® Atom™ E38xx series SOC (code name Baytrail).
Subscribe to Intel Developer Zone Articles

Supplemental Documentation

Intel® MKL Sparse BLAS Overview
By Naveen Gv (Intel)Posted 06/25/20120
Sparse BLAS routines can be useful to implement iterative methods for solving large sparse systems of equations or eigenvalue problems
Intel Guide for Developing Multithreaded Applications
By adminPosted 01/16/201224
The Intel® Guide for Developing Multithreaded Applications covers topics ranging from general advice applicable to any multithreading method to usage guidelines for Intel® software products to API-specific issues.
Elemental functions: Writing data parallel code in C/C++ using Intel® Cilk™ Plus
By Robert Geva (Intel)Posted 01/24/20116
Intel® Cilk™ Plus provides simple to use language extensions to express data and task-parallelism to the C and C++ language. This article describes one of these programming constructs: “elemental functions”.
Subscribe to Intel Developer Zone Articles

You can reply to any of the forum topics below by clicking on the title. Please do not include private information such as your email address or product serial number in your posts. If you need to share private information with an Intel employee, they can start a private thread for you.

New topic    Search within this forum     Subscribe to this forum


Announcing new product: Intel® Data Analytics Acceleration Library 2016 Beta
By Jennifer J. (Intel)0
We are pleased to announce the release of Intel® Data Analytics Acceleration Library 2016 Beta! Intel® Data Analytics Acceleration Library is a C++ and Java API library of optimized analytics building blocks for all data analysis stages, from data acquisition to data mining and machine learning. It is a library essential for engineering high performance data application solutions. Click here to see more.
OS X 10.9 Xcode 5 error can't open "stdlib.h" OR ld: library not found for -lcrt1.10.6.o
By Ronald W Green (Intel)0
Environment:  OS X 10.9 (Mavericks) and Xcode 5.0 Command line compilations/links fail with either: "catastrophic error: cannot open source file "stdlib.h" OR with "ld: library not found for -lcrt1.10.6.o" Affected compiler:  Intel Composer XE 2013 Update 1 Root cause:  Xcode 5.0 installation does not install all command line tools (include files, libraries, SDKs) need for the compiler to link user applications.  FIX: Install the Xcode 5.0 "Command Line Tools".  Follow this Knowledge Base article for installation of this package:  http://software.intel.com/en-us/articles/installing-intel-compilers-for-os-x-pre-requisite-xcode-command-line-tools
ld: cannot find -lm when building with -static or -fast
By Ronald W Green (Intel)0
RHEL 6.x, FC14, FC13, FC12, SL6.x, CentOS 6, etc. and possibly other recent distributions: error when using -static or -fast: ld: cannot find -lm See this article: http://software.intel.com/en-us/articles/error-ld-cannot-find-lm/
IDB use under Mac OS* X 10.7 Lion
By Ronald W Green (Intel)0
In order to debug applications built by the Intel Composer XE 2011 ( Updates 6, 7, 8, and possible future updates ) under Mac OS* X 10.7 Lion, the following options are required: -g -save-temps -fpic -Wl,-no_pie Further information can be found here: http://software.intel.com/en-us/articles/using-the-idb-debugger-under-mac-os-x-107-lion/This does not affect users running Mac OS* X 10.6 Snow Leopard or Mac OS* X 10.5 Leopard.
Centos support
By andrei k.1
Hello, which Parallel Studio SP1 update is compatible with my Centos OS 6.5. I tried to download Sp1 update 4 but the install says my OS is not supported. I was not able to find XE dedicated forum to post it
Disable loop-reordering/ loop-interchange
By Paul S.1
Hello, is it possible to disable loop-reordering/ loop-interchange while compiling with -O3? Thank you, Paul
Bug: legitimate code with variadic templates and variadic template aliases leads to an error.
By Mikhail K.0
Hi, I've got an issue with the following code: In test.cpp template <typename... Types> struct Variadic1 {}; template <typename... Types> using MakeVariadic1 = Variadic1<Types...>; template <typename... Types> struct Variadic2 {}; template <typename... Types> using MakeVariadic2 = Variadic2<MakeVariadic1<Types...>>; template <typename... Types> MakeVariadic2<Types...> test(Types...) { return MakeVariadic2<Types...>(); } int main() { test(1); } Command line and output: ~/tmp$ ~/soft/intel/system_studio_2015.2.050/bin/ia32/icpc -std=c++11 test.cpp -o test test.cpp(21): error: template instantiation resulted in unexpected function type of "MakeVariadic2<int> (int)" (the meaning of a name may have changed since the template declaration -- the type of the template is "MakeVariadic2<Types...> (Types...)") test(1); ^ ...
Is it better to use IPP or ICL's vectorizer?
By meldaproduction3
The ICL's vectorizer seems to be very good, which makes me think whether it makes sense to use IPP (performance primitives) for simple tasks such as for (int i=0; i<cnt; i++) dst[i] = src1[i] * src2[i]; I assume to use SSE2 as base architecture and AVX for dispatching.  
Subscribe to Forums

You can reply to any of the forum topics below by clicking on the title. Please do not include private information such as your email address or product serial number in your posts. If you need to share private information with an Intel employee, they can start a private thread for you.

New topic    Search within this forum     Subscribe to this forum


A new version of CilkPlus/LLVM compiler is available!
By Andrew Tischenko (Intel)0
Hi All! We’re glad to inform you that a new version of CilkPlus LLVM-based compiler available now on Cilk Plus/LLVM. This version fully supports Intel® Cilk™ Plus Language Extension Specification Version 1.2, including C-Extended Array Notation missed in the previous version of the compiler. In addition, a lot of bugs were fixed, including variable length arrays support in _Cilk_spawn calls. We’re encouraging you to download the new compiler and to play with it. All your comments are welcome! Andrew V. Tischenko ================= Software Engineer Intel Compiler Team  
Cilk Plus for GCC 4.8
By Barry Tannenbaum (Intel)0
Binary versions of the GNU Compiler Collection (GCC) C and C++ 4.8 compilers with the cilkplus extension are now available from http://www.cilkplus.org/download#gcc-development-branch . The binaries support the x86-32 and x86-64 architectures on Ubuntu* Linux*. The source for these compilers is available at http://gcc.gnu.org/svn/gcc/branches/cilkplus-4_8-branch  . These compilers are provided as a convenience. This branch is under active development and should not be used for production code. The compilers are not guaranteed to be up-to-date or error-free. Questions, bug reports, or issues should be posted in this forum. Cilk Plus is also being integrated into the next version of the GCC C and C++ compilers.  Sources for that version are available at http://gcc.gnu.org/svn/gcc/branches/cilkplus .
Announcement: Version 1.2 of the Cilk Plus Language Specification released
By Pablo Halpern (Intel)0
We are pleased to announce an update to the Intel® Cilk™ Plus Language Specification.  This document describes the syntax and semantics of the Cilk™ Plus language constructs that were added to the C and C++ programming languages.  This version of the specification was relseased in September, 2013 and supersedes the 1.1 version of the same specification released in July, 2011.  This version adds no new features to the language extensions described in the V1.1 specification, but contains numerous corrections and clarifications.  A few obsolete constructs were removed.  It is recommended that implementors adding Cilk Plus extensions to their compilers base their changes on this document instead of the V1.1 document. The new spec is available on the Open Specifications download page on cilkplus.org.
Cilkpub: a library of community-contributed Cilk Plus code
By Jim Sukha (Intel)3
We are pleased to announce that Cilkpub, a library of community-contributed Cilk Plus code, is now available for download. Cilkpub is intended to be a public library of code contributed and maintained by the members of the Cilk Plus community. Version 1.02 has been posted to the community website and contains the following modules: DotMix DPRNG: a deterministic parallel random number generator for Cilk Plus, contributed by Tao B. Schardl and myself. Sort: a module containing parallel implementations of quicksort and sample sort, contributed by Arch Robison.   This code is derived from the sorts described in Structured Paralllel Programming. Cilkpub is distributed as a source code.  The DotMix and Sort modules are implemented using C++ templates, and consist of only header files. If you have your own Cilk Plus code that you would like to share with the world, please consider contributing your code!   The Cilkpub project is still in its early stages, and we hope to expand the librar...
Cilk Plus/LLVM available on Github
By Ben Langmuir (Intel)3
Hi all, I am pleased to announce that the source code for our in-progress implementation of the Intel Cilk Plus extensions in Clang/LLVM is now available on Github: http://cilkplus.github.com/ This is an early release, and is not yet feature-complete. Right now, only spawn and sync are supported, as well as anything that only requires the runtime library, such as hyperobjects. We will of course be adding the rest of the Intel Cilk Plus extensions over time, including cilk_for and the vectorization features. More information about the current status, including supported platforms and known issues is available at http://cilkplus.github.com/#status. We would love to hear your feedback (and bug reports!) – either on this forum, or via the github issue tracker https://github.com/cilkplus/clang/issues.  Ben
New Cilk Plus website - http://cilkplus.org/
By Bethany Dalby (Intel)1
Check out the new Intel® Cilk Plus™ website http://cilkplus.org/.  Learn about the latest product information, download tools and samples, submit contributions, and much more! If you have any comments or suggestions, we would love to hear them.
Intel Cilk Plus SDK - Cilkscreen and Cilkview for Intel Cilk Plus
By Barry Tannenbaum (Intel)6
The Intel Cilk Plus SDK (Software Development Kit) is now available as a WhatIf kit. It supplies the Cilkscreen race detection and Cilkview scalability tools for Intel Cilk Plus developers working on the Microsoft Windows* and Linux* operating systems. More information can be found at the Intel Cilk Plus Download page. Support for the Intel Cilk Plus SDK will be provided through the Intel Cilk Plus forum. Note: You must have SP1 or later of the Intel Parallel Composer 2011 or Intel C++ Composer XE 2011 products. - Barry
Unable to Compile GCC
By Rahul M.2
I was following the instructions from https://www.cilkplus.org/build-gcc-cilkplus, and I consistently got an error saying that "tm.h": no file or directory was found. I'm not sure what tm.h is, or what package it is included with. I installed the following packages: GNAT (probably doesn't help), GMP, MPFR, MPC, ISL, Flex, Bison. My configuration options were `./configure --prefix=/usr/lib/gcc/cilkplus --enable-languages="c,c++" --disable-multilib` On Ubuntu 14.10.  Can someone help me compile cilkplus for gcc?
Subscribe to Forums