Intel® Cilk™ Plus

Thread local calculation of reducers?

Hi,

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.
  • Developers
  • Students
  • Linux*
  • Yocto Project
  • C/C++
  • Advanced
  • Beginner
  • Intermediate
  • Intel® C++ Compiler
  • Intel® Cilk™ Plus
  • Intel® Integrated Performance Primitives
  • Intel® Math Kernel Library
  • Intel® System Studio
  • embedded c programming
  • Parallel Computing
  • Power Efficiency
  • Threading
  • Vectorization
  • 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

    Hello,
    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.

    Cilk worker

    Hello,

    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.

  • Developers
  • C/C++
  • Fortran
  • Intel® Cilk™ Plus
  • Intel® MPI Library
  • Intel® Threading Building Blocks
  • Intel® Cluster Studio XE
  • Intel® Fortran Studio XE
  • Intel® Parallel Studio XE
  • Intel® Advisor XE
  • Intel® VTune™ Amplifier XE
  • Intel® Inspector XE
  • Webinars
  • Intel® Many Integrated Core Architecture
  • Subscribe to Intel® Cilk™ Plus