Intel® Cilk™ Plus

Thread local calculation of reducers?


I wonder how reducers work internally. So if a value is set into a reducer, does it block other threads each time a value is set?

I ask because normally I'm creating a local 'reducer', e.g. a local histogram on an image tile and on leaving the thread all the data is pushed at once into the global reducer. Just like local memory operations in OpenCL.

Intel® System Studio - Multicore Programming with Intel® Cilk™ Plus

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). Since Intel Cilk Plus is built into the compiler, it can be used where it demands an efficient threading runtime in order to extract parallelism. Therefore it's possible to effectively introduce multicore parallelism even without introducing it into each of the important algorithms e.g., by employing a parallel pattern called pipeline. For custom code (e.g., code that's not reused via a library), one can rely (in addition to auto-vectorization) on an extended Array Notation incl. elemental functions (kernels) to explicitly vectorize at a higher level compared to ISA-specific intrinsic functions.
  • Développeurs
  • Étudiants
  • Linux*
  • Projet Yocto
  • C/C++
  • Avancé
  • Débutant
  • Intermédiaire
  • Compilateur Intel® C++
  • Intel® Cilk™ Plus
  • Bibliothèque Intel® Integrated Performance Primitives (IPP)
  • Bibliothèque Intel® Math Kernel Library
  • Intel® System Studio
  • embedded c programming
  • Informatique parallèle
  • Efficacité de l’alimentation
  • Parallélisation
  • Vectorisation
  • Why does the available number of workers changes execution for a 1 cilk_spawn program?

    While optimizing a matrix manipulation code in C, I used CilkPlus to spawn a thread to execute in parallel two functions that are data independent and somewhat computationally intensive. Cilk_spawn is used in only one place in the code as follows:

    Run-time exit function

    I would like to understand run-time execution in Cilk a little better. 
    I have downloaded Intel Cilk run-time release (cilkplus-rtl-003365 - released 3-May-2013).

    On 09/09/2013 I had asked a question seeking to figure out which is the last function executed before Cilk run-time ends assuming execution went without any problems.

    Barry suggested to look at “__cilkrts_c_return_from_initial()” in scheduler.c  and indeed that was what I needed at that time.

    Compile Cilk Plus GCC Runtime Libraries for Debug

    Hello All,

    I was wondering whether there was some way to modify the makefiles for the GCC build of Cilk Plus to keep the labels for debugging (i.e. compile with -g).  I am trying to get a fuller picture of how the runtime system works in order to possibly modify it


    Thank you!


    Cilk worker


    I would like to understand Cilk worker creation a litter better.
    I am not sure how to phrase this question so I’ll give it my best.
    I have downloaded Intel Cilk runtime release (cilkplus-rtl-003365 -  released 3-May-2013).

    I would like to create a new Cilk worker that does not cause cross-threading issues but this new worker would not be a part of the work collective.

    Intel Software Tools Technical Webinar Series

    These free technical webinars cover tips and techniques that will help sharpen your development skills to create faster, more reliable applications. Technical experts will cover topics ranging from vectorization, code migration, code optimization, using advanced threading techniques (e.g., OpenMP 4.0, Intel® Cilk™ Plus, Intel® TBB), and error checking. Bring programming questions to the live session for our technical experts to answer. A replay of each webinar will be available shortly after the live session so you can share with those unable to attend the live session.

  • Développeurs
  • C/C++
  • Fortran
  • Intel® Cilk™ Plus
  • Bibliothèque Intel® MPI Library
  • Intel® Threading Building Blocks
  • Intel® Cluster Studio XE
  • Intel® Fortran Studio XE
  • Intel® Parallel Studio XE
  • Intel® Advisor XE
  • Amplificateur Intel® VTune™ XE
  • Intel® Inspector XE
  • Webinars
  • Intel® Many Integrated Core Architecture
  • Intel Cilk Plus runtime support on ARM

    I noticed in the Intel Cilk Plus runtime library change log (, support for ARM with Intel C/C++ Compiler mainline-to-14.0 branch cutoff. Is there any possibility to use the beautiful cilk plus on the ARM architecture?

    Best regards


    S’abonner à Intel® Cilk™ Plus