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.
'Segmentation violation signal raised' when xiar runs
By qpalz0
I am trying to compile chromium 41.0.2272.64 (64 bit) using icc on Linux. icpc --version shows icpc (ICC) 15.0.2 20150121 Copyright (C) 1985-2015 Intel Corporation.  All rights reserved. I compile the whole thing with -ipo option on. It compiles obj/content/browser/gpu/content_browser.gpu_process_host.o as usual with the following command (some unrelated stuff is skipped, and I know that some options shown below are not supported by icc or duplicated): icpc ... -fstack-protector --param=ssp-buffer-size=4 -pthread -fno-strict-aliasing -Wall -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wno-unused-local-typedefs -pthread ... -m64 -march=x86-64 -O2 -fno-ident -fdata-sections -ffunction-sections -funwind-tables -O2 -march=native -ipo -no-prec-div -ansi-alias -parallel -fno-exceptions -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -Wsign-compare -std=gnu++11 -Wno-narrowing -Wno-literal-suffix -c ../../content/browser/gpu/gpu_p...
Problem compiling with armadillo
By dhurtma@ulb.ac.be0
Hello all, I'm using aramadillo (http://arma.sourceforge.net) to elegantly manipulate arrays. All was working well till the last version (4.650.2). Now it fails compiling with icpc (15.0.1, Linux) pretending there is a resolution problem.  The snippet code still compile fine with g++(4.9.2) and also clang (3.5) showing no error or warning. I've filed a bug to armadillo team, but they told me it is an Intel issue. I would be happy if any solution exists to solve this issue as I both need using armadillo and the intel compiler for speed and efficency. Thanks in advance for any answer. Daniel Here is the code: #define ARMA_DONT_USE_WRAPPER #define ARMA_DONT_USE_HDF5 #define ARMA_DONT_USE_BLAS #include <armadillo> using namespace std; using namespace arma; #define LEN 50 int main() { mat::fixed<LEN,9> beta; vec::fixed<LEN> alpha; mat::fixed<LEN,9> ash1; ash1=repmat(alpha,1,9)-beta; return(0); }and the compilation error: ~ $ icpc -I armadillo-4.650.2/i...
A possible bug found in ICC compiler with inline ASM
By mengke e.4
I found a bug when using the inline ASM of Intel Parallel Studio XE 2015 Update 2 Composer Edition for C++ Windows. Since I'm not very familiar with inline ASM, I'm not sure if it is a bug. #include <iostream> using namespace std; __forceinline void DoNothingWithMemory( float*const copyByValue ) { float* copyByValueAgain = copyByValue ; /* As you see, the two var in this function, "copyByValueAgain" and "copyByValue", are copied by value. Therefore, even if the code block of inline asm below changes one of them, there's nothing to do with the var "p" in the main function. However, the fact is, the var "p" in the main function IS changed after executing the code block of inline asm below! */ __asm__ __volatile__( "lea 4(%0),%0;" //In fact, nothing is done here. It's just a "lea", and has nothing to do with memory or pointer aliasing! : :"r"( copyByValueAgain ) : ); } int main() { float a; //just a place hol...
"internal error: backend signal" when compilng "DRMAA for PBS"
By Eric R.3
Hello, On two separate systems I've attempted to compile "DRMAA for PBS" (found here). It successfully compiles with gcc and fails with icc resulting in the "interal error: backend signal". From what I can tell from searching in previous forums that error message is highly problematic and should be reported. This error has occurred on the 15.0.1 version on the Intel Compiler. It was compiled under linux. The build was a simple "configure" followed by a "make". The problematic file and resulting error is displayed below: icc -DHAVE_CONFIG_H -I. -I.. -I/opt/torque/include -I/opt/torque/include/torque -I../drmaa_utils -fPIC -D_REENTRANT -D_THREAD_SAFE -DNDEBUG -D_GNU_SOURCE -DCONFDIR=~/opt/pbs-drmaa-1.0.18/etc -Wall -W -Wno-unused-parameter -Wno-format-zero-length -pedantic -ansi -g -O2 -pthread -MT drmaa.lo -MD -MP -MF .deps/drmaa.Tpo -c drmaa.c  -fPIC -DPIC -o .libs/drmaa.o (0): internal error: backend signals Thanks for your time in advance, - Eric
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
Is cilk slower on Linux than on Windows?
By mosekmosek.com2
Currently, I am getting decent results with Intel 15 Cilk on Windows. However, the results is not nearly as good on Linux. My feeling is the overhead of a spawn is bigger on Linux. Any suggestions/comments? I had expected the opposite results i.e. better results on Linux.  I am using fairly new hardware and have tried to disable hyperthreading. Disabling hypertreading improves the result a bit but not much.  
Subscribe to Forums