Intel® C++ Composer XE

Intel® Parallel Studio XE 2015 Composer Edition for C++ OS X*, Initial Release

Intel® Parallel Studio XE 2015 Composer Edition for C++ OS X* includes the latest Intel C/C++ compilers and performance libraries for IA-32 and Intel® 64 architecture systems. This new product release now includes: Intel® C++ Compiler 15.0.0, GNU* Project Debugger (GDB*) 7.7, Intel® Math Kernel Library (Intel® MKL) Version 11.2, Intel® Integrated Performance Primitives (Intel® IPP) Version 8.2, Intel® Threading Building Blocks (Intel® TBB) Version 4.3

New in this release:

  • Développeurs
  • Apple OS X*
  • C/C++
  • Compilateur Intel® C++
  • Intel® C++ Composer XE
  • Intel® Composer XE
  • Bibliothèque Intel® Integrated Performance Primitives (IPP)
  • Bibliothèque Intel® Math Kernel Library
  • Intel® Threading Building Blocks
  • cilk_spawn inside cilk_for


    For some reason, whenever I have a spawn and sync inside a cilk_for it seems as though the spawn does not get recognized.  I end up getting a compile time error of Expected _Cilk_spawn before _Cilk_sync.  As an example consider the following (overly simple) program:

    void foo(){
        cout << "foo";
    void bar(){
        cout << "bar";
    void baz(){
        cout << "baz";
    int main(){
        cilk_for(int i-0; i<10; i++){
            cilk_spawn foo();


    Cilk™ Plus Trademark License for product distribution

    Dear all,

    I need a help to make clear with my customer about Cilk Plus license.

    I have bought a license of Intel Parallel Studio XE 2013 (contains Cilk Plus) to develop a product for my customer.

    Now, my customer want to distribute the product to market.

    Mustn't my customer need to buy a license because I bought it ? can you give for me some evidences to me negotiate with my customer ?


    Tam Nguyen

    利用Cilk™ Plus的Reducer解决并行程序中的竞态及按序计算问题

        使用Cilk™ Plus来对程序进行并行化比使用传统的Pthread方式来建立管理线程库容易得多,在一般情况下,利用关键字cilk_sync以及cilk_for可以使串行的程序更容易改写为并行的代码,尽管在一些复杂的并行情况下,使用cilk_sync以及cilk_for并不能解决程序中本身存在的数据竞态及多线程并行的协调管理问题。

        值得注意的是Cilk™ Plus并不是只有关键字的方式,Cilk™ Plus库也包含一些用于解决并行程序中的竞态、锁、多线程协调等问题的功能features。本文将提到的是Cilk Reducer它能有助于解决常见的累计型算法中存在的数据竞态及多线程间按序计算等问题。

    1.    累计型算法常见于对一个变量进行多次叠加地更新值,比如以下代码:

  • Développeurs
  • C/C++
  • Intel® C++ Composer XE
  • Intel® Cilk™ Plus
  • Contrat de licence: 

    Cilk™ Plus并行程序的串行等价程序的执行过程

        C++社区的趋势近年来主要是通过以添加更多的库而不是语言关键字来实现增加程序的功能性,比如Threading Building Blocks以及Parallel Patterns库,但与主流发展趋势不同的是,Intel的Cilk™ Plus的实现方式则是以后者的形式——语言关键字来增加程序功能的,本文将就此给出分析。


        每一个使用关键字来定义并行Cilk™ Plus的程序都有一个已在编译器实现中定义好的串行语义。 通过将每一个cilk_sync及cilk_spawn替换为空,且将每一个cilk_for以for关键字来替代,编译器由此将并行的Cilk™ Plus程序处理为一个有效的串行C/C++程序。 当两个逻辑并行的线程同时访问同一内存位置且至少一个为写内存操作时,程序行为此时出现竞态,如果一个Cilk™ Plus并行程序没有竞态发生的话,此时它将产生与其串行等价程序相同的结果。编译器是如何保证其串行等价的结果一致的?考虑以下的代码:

  • Développeurs
  • C/C++
  • Intel® C++ Composer XE
  • Intel® Cilk™ Plus
  • Contrat de licence: 


    I've been trying to understand what the implicit_index intrinsic may be intended for.  It's tricky to get adequate performance from it, and apparently not possible in some of the more obvious contexts (unless the goal is only to get a positive vectorization report).

    It seems to be competitive for the usage of setting up an identity matrix.

    In the context of dividing its result by 2, different treatments are required on MIC and host:

    Converting Cilkview data to seconds

    Hey folks,

    I'm working with a system that needs the work and span of the programs I'm running in seconds and nanoseconds to run properly, and running Cilkview on them gives me work and span in processor instructions. Does anyone know of a way to convert that data from instructions to a unit of time?



    S’abonner à Intel® C++ Composer XE