Intel® Cilk™ Plus

why spawn helper cannot be inlined

I am reading the ABI doc and also made fib working using cilk_fake.h using runtime only. One question I have is the requirement for a helper function for spawn since a cilkplus spawn is to call a function, basically, why we cannot inline the helper function. Is this for dealing with stack/frame pointer management or stack memory management (e.g. we cannot surround a spawn with a for/while loop if each spawn needs its own dedicated stack space)? any insightful comments on this for helping my curiosity ;-)

Thanks

yanyh

pretty weird behaviour on using cilk_for and built-in function of arrays

I was trying to use built-in functions for arrays in cilkplus. Consider the following code as example:

#include<stdio.h>
#include<stdlib.h>
#include<cilk/cilk.h>


int main()
{
int a[10] = {10,3,14,7,9,5,65,12,6,52};

int t;

t = __sec_reduce_max(a[0:3]);


cilk_for(int i=0;i<11;i++)
{
printf("something\n");
}

return 0;
}

 

On compiling the above program i got "internal compiler error: Segmentation fault"

Race conditions in cilk_for

Hi everyone,

I'm trying to run a code using cilkplus. The idea is to initiallize an array in parallel, using cilk_for, and then read it, in parallel again, to compute some results. However, I have race conditions between instruction on the two consecutive cilk_for. Above you can find an example code that reproduces that error:

Why does Cilk Plus __sec_reduce_add differ from a sequential addition?

I'm finding a significant error for certain input values when I use a particular offset to add values. Due to the nature of the algorithm I'm considering (not relevant to the question), I need to start a sum value with the first element of an array. I was able to extract a minimal working example, which is appended below.

Even though there are less than 50 floating point additions involved, I'm seeing error far beyond that order of magnitude of ulps, and I don't understand what I am doing wrong. See the following code snippet, along with the invocation and what my results are:

_Cilk_spawn is undefined

Hello, I have installed Visual Studio 2013 and Intel Parallel Studio and when i write a cilk plus program (fibonacci to be accurate) it compiles it just fine, but it doesn't recognize the commands cilk_spawn and cilk_sync (if i move the cusror to these commands it says "_Cilk_spawn is undefined","_Cilk_sync is undefined" ). Also when i run the fibonacci program the serial version executes in almost the same amount of time as the parallel version (weird ah?). 

I researched on the internet for this problem but no-one seems to give a solution. 

Any help would be appreciated

status of cilkplus in gcc?

What's going on with cilkplus in gcc? Is it still being actively used and developed? 

This link says it's been "supported" for some time: https://www.cilkplus.org/which-license#gcc-development.

​Yet it doesn't seem to work with some of the simplest code like below which gives an ICE with gcc.

http://melpon.org/wandbox/permlink/PxcBvdYh1nMvUlsZ

Subscribe to Intel® Cilk™ Plus