Vous êtes ici

Intel® Cilk™ Plus

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

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:

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

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.

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.