Cilk-Profile, Cilk-Span

Cilk-Profile, Cilk-Span

newport_j's picture

I may be in the wrong forum so please redirect me if that is the case. I am wondering when you use the Cilk-span command on a hybrid program (Cilk, plus a lot of basic c functions) which one does the span use? I have a program that is basically in c, uses pthreads, and I would like to know projected performance data for a higher number of cores. i only have a Xeon with four cores. That is as high as I can go, but I know itis possible to project performance with a higher number of cores with cilk-span.

Again, a program consisting of cilk and c function: how does it handle the cilk-span function.

I am talking about Cilk 5.4.6.

Thanks ina advance.

Newport_j

PS Again if I am in the wrong Forum redirect me.

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Barry Tannenbaum (Intel)'s picture

It sounds like you have a program which is using both pthreads and Cilk.

I believe that Cilkscreen (the race detector) is protected against running in multiple threads. The first one that enters Cilk code will be thethread that is monitored, and all others will be ignored. We've discussed allowing you to namethe threads and choose one, but never implemented it.

I don't believe thatCilkview(the scalability analyzer) will work an a program which uses non-Cilk threading. If you tryi, it will probably get very confused.

- Barry

Jim Sukha (Intel)'s picture

If you are working with "Cilk 5.4.6", then you are referring to the version of Cilk from MIT.
Cilk 5.4.6 (from MIT) is different from Intel Cilk++, which in turn is different Intel Cilk Plus.

The MIT Cilk reference manual may be able to give you more information about the usage of MIT Cilk's profiling mode for span.
http://supertech.csail.mit.edu/cilk/
Unfortunately, as far as I know, there is no user forum for MIT Cilk?

Isyour program parallelized explicitly using pthreads (i.e., do you call pthread_create in your user code?)
In this case, the profiling in MIT Cilk won't give you useful results for span, because it does not understand parallelism unless it is created using "spawn" and "sync".

Jim

Login to leave a comment.