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
Par JONG IL P. (Intel)Publié le 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
Par Naveen Gv (Intel)Publié le 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
Par Hans Pabst (Intel)Publié le 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
Par sukruth-v (Intel)Publié le 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).
S’abonner à Articles de la Zone des développeurs Intel

Supplemental Documentation

Intel® MKL Sparse BLAS Overview
Par Naveen Gv (Intel)Publié le 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
Par adminPublié le 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
Par Robert Geva (Intel)Publié le 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”.
S’abonner à Articles de la Zone des développeurs Intel

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
Par 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
Par 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
Par 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
Par 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.
Optimization problems with std::array maybe due to RVO
Par velvia2
Hi, I discovered a source of slowdown in my program, due to the usage of std::array. To gain a better understanding of what was going on, I have used my own implementation of std::array, and the slowdown disappeared. Unfortunately, I can't show you the program I am working on due to some non disclosure agreement. But I've managed to track down the problem and put it in a simple file. When you compile the file shown below with icpc -c -std=c++11 -Ofast -xHost -ansi-alias -qopt-report=2 ode.cpp -o ode.oand look at the optimization report, the generated function is ode(StaticVector<double, 2UL> *, const StaticVector<double, 2UL> &)But if you comment out what is in between the "culprit" comments, all the constructors and assignements, the function does have a new signature ode(const StaticVector<double, 2UL> &)My guess is that it has to do with return value optimization. Could you please explain me why we have such a difference? Best regards, Francois #include ...
Right Intel C++ compiler for 64-bit machine
Par polispip4
Hello, I just installed the Intel® Parallel Studio XE Professional Edition for C++ Linux* (evaluation version) for my Ubuntu 14.04.2 machine running on a "Intel Corporation Xeon E3-1200 Processor Family" processor. I don't understand if this is a 32-bit compiler or not. I'm worried about this since during the installation a message reporting the absence of some 32-bit libraries appears on the console.  Since I'm interested to have the best performances (running time) of my code, does a 64-bit specific version exist for my machine? Thank you
error: class "__m128" has no suitable assignment operator
Par Matt S.3
This code  #include <xmmintrin.h>   volatile __m128 a, b;   void test(void) {      a = b; }   produces this error $ /opt/intel/composerxe/bin/icpc -c test.cc test.cc(7): error: class "__m128" has no suitable assignment operator        a = b;            ^   compilation aborted for test.cc (code 2)   when compiled with icpc.  There is no error if the variables are not volatile.  There is no error with icc or gcc or g++. Any suggestion on how to compile it with icpc?    
'Segmentation violation signal raised' when xiar runs
Par 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...
S’abonner à 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!
Par 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
Par 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
Par 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
Par 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
Par 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/
Par 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
Par 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?
Par 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.  
S’abonner à Forums