Intel® Cilk™ Plus

writing our own reducers


can anyone guide me that how to write our own reducer (not holder) and how to use it? The tutorials and manuals for intel cilk plus guide does not provide much detail or exact syntax to define my own reducer. So if anybody has ever done this before then please share it. I really need it.

--Abdul Jabbar--

cilkview SIGSEV

I'm trying to work with cilkview on GCC 4.8 (after a long and ardouos road compiling the latter). However, fiddling with the lib paths, I get either

./cilkview ~/fib
cilkview: generating scalability data
Cilkview Scalability Analyzer V2.0.0, Build 2516
C:Tool (or Pin) caused signal 11 at PC 0xb70e76a8
cilkview error: process killed by signal -10


CilkPlus on IRC

Dear CilkPlusers,

I've taken the liberty of creating an IRC channel for CilkPlus discussion. It may be easier to get information and be more interactive than the forum so far. Myself, and two of my students will be there most of the time, and I hope maybe Barry and Tao will be on it from time to time. 

Hope this is helpful at some point. The details are:, #cilkplus

Hope we can build a community here.



GCC cilkplus and zca


I'm trying to develop some Pin tools that track Cilk-related events using libzca, and I'm having some difficulties getting the tool to work with GCC.

I've written a tutorial Pin tool that counts instructions, spawns, and a custom annotation I've added using __notify_intrinsic().  The code for this Pin tool is given below.

gcc cilkplus git repository breaks on parfib


I have been hacking on cilk for about a year now and have been working with an old cilk release. I recently pulled the most recent commit from the gcc mirror on github and compiled the cilkplus branch. I then proceeded to run parfib and got a segfault immediately. From poking around gdb, it looks like worker states are either corrupted or uninitialized. I was wondering if you could confirm that this is a problem with the current state of the rts, and not a problem on my end. the hash that I am used for the compilation was:

(very) Bad parallel efficiency, cilkview interpretation


I tried to parallelise a function with cilk plus (the function is basicaly a periodical convolution with transposition).

The function has 3 nested "for" loops. Basicaly, in a first implementation I only have changed the "for" to "cilk_for". I tried to change only the first one, or the two first, but without change in performances. The function is "convSerial_cilk", printed at the end of this post. The iteration space can be large (the first for loop iterates from 0 to 20000)

Because I had poor performance, I tried to usethe "cilkview" tools (from the SDK).

cilkprof failing to compile

 Within the Makefile I only changed the var CXX = icpc to CXX = g++. All else is equal.

/usr/bin/ld: ../../3rdparty/pintool/intel64/lib/libpin.a(util_host_ia32e.os): relocation R_X86_64_PC32 against symbol `DoXsave' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status make: *** [linux64/] Error 1

What could be going on?


work-stealing applications in real life

There are many papers about work-stealing in the academic.  Cilk ,Cilk plus,TPL and so on also use work stealing. I want to know which applications are suitable to be solved by work-stealing in real life.

 I'm studying the fine-grained task parallelism now.   I also want to know which applications are suitable written in fine-grained task parallelism in real life. Thank you very much.

Subscribe to Intel® Cilk™ Plus