• 03/21/2019
  • Public Content

Intel® C++ Compiler Code Samples

Intel® Cilk™ Plus has been deprecated in the Intel® C++ Compiler 18.0. Prefer to use OpenMP-based syntax for offloading to the processor graphics. For more information see Migrate Your Application to use OpenMP* or Intel® Threading Building Blocks (Intel® TBB) Instead of Intel® Cilk™ Plus. The programs listed on "All Samples and Downloads" are being ported to use OpenMP & Intel TBB and will be updated when available.
Intel® C++ Compiler is an industry-leading C/C++ Compiler, including optimization features like auto-vectorization, OpenMP*, and Intel® Cilk™ Plus explicit vector & task programming capabilities; plus the highly optimized performance libraries.
Why is explicit vector & task programming important? Because the core counts & vector widths are increasing with new generations of processors and extensions to languages are needed to give best performance on new architectures.  Modern programming languages such as C/C++ and Fortran were developed with serial semantics designed in.  In some cases, a compiler may be able to identify auto-vectorization or auto-parallelization opportunities even within the semantics constraints of the programming language. But in a larger body of applications, auto-vectorization & auto-parallelization of a given loop is limited by a host of reasons. The reasons come from presence of conditionals, presence of user defined functions, assumed dependencies among data elements, and other reasons. Explicit vector & task programming arm the developers with the syntax they need to express the underlying data parallel potential in a piece of code.
We have created a list of samples demonstrating those features in detail, showing how to apply explicit vectorization and parallelization constructs in some popular algorithms and commonly used open source applications.
By downloading or copying all or any part of the sample source code, you agree to the terms of the Intel® Sample Source Code License Agreement .

Product and Performance Information


Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804