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.
I noticed that, “__cilkrts_c_return_from_initial()” in scheduler.c invokes another function called “__cilkrts_unbind_thread()” also in in scheduler.c
My question is following. When I run ./fib 30 then, “__cilkrts_unbind_thread()” is invoked only once at the end of the execution BUT when I run some other benchmarks (for example PBBS) then “__cilkrts_unbind_thread()” seems to be invoked multiple times.
I’m missing some connection here. I would honestly appreciate any hint, advice, or recommendation.
My ultimate goal is to set a flag in shared memory upon run-time exit assuming execution of any application went without any problems.
Tx, Haris
PS. I want to sincerely thank you for patiently answering my questions since I have been on this forum.