This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Cilk Library


Hi Richard,
	Here is the link to the fixed patch (https://drive.google.com/file/d/0BzEpbbnrYKsSNmpmM3NlRThfcWc/edit?usp=sharing). Answers to your questions are given below.

Thanks,

Balaji V. Iyer.

> -----Original Message-----
> From: Richard Henderson [mailto:rth@redhat.com]
> Sent: Thursday, October 24, 2013 12:15 PM
> To: Iyer, Balaji V; Jeff Law; gcc@gcc.gnu.org
> Cc: Aldy Hernandez (aldyh@redhat.com); Jason Merrill (jason@redhat.com);
> Joseph S. Myers
> Subject: Re: Cilk Library
> 
> On 10/23/2013 12:30 PM, Iyer, Balaji V wrote:
> > Hi Jeff et al.,
> > 	Here is a link to the updated patch
> (https://docs.google.com/file/d/0BzEpbbnrYKsSbVY2X3ZLUnd4OXM/edit?usp=s
> haring). We have fixed all the issues that Joseph pointed out in
> http://gcc.gnu.org/ml/gcc/2013-10/msg00090.html. We have also added
> symbol versioning and have double-checked (using nm) that all symbols are
> hidden unless we have explicitly allowed them to be public.
> >
> 
> 
> In file included from ../../../git-master/libcilkrts/runtime/cilk-abi.c:52:0:
> ../../../git-master/libcilkrts/include/cilk/cilk_api.h:59:9: warning: #warning Cilk
> API is being used with non-Cilk compiler (or Cilk is disabled) [-Wcpp]
>  #       warning Cilk API is being used with non-Cilk compiler (or Cilk is
> disabled)
> 
> and similar for
> 
>  ../../../git-master/libcilkrts/runtime/global_state.cpp:44
>  ../../../git-master/libcilkrts/runtime/reducer_impl.cpp:59
>  ../../../git-master/libcilkrts/runtime/scheduler.c:74:0:

To compile Cilk Library (libcilkrts), the compiler must have _Cilk_spawn and _Cilk_sync support. For this patch, I have defined (please see Makefile.am under GENERAL_FLAGS) the cilk-keywords to NULL to make this patch compile. When I commit this patch, I will commit the patches in the following order (after everything is approved that is):

1. Commit the _Cilk_spawn and _Cilk_sync for C and C++
2. Remove the -D_Cilk_spawn="" and -D_Cilk_sync="" and -D_Cilk_for=for from the Makefile.am
3. Commit the Cilk library patch

If we do it in the above order, you won't see those warnings.

> 
> > CILKABI1
> > {
> >   global:
> >     __cilkrts_bind_thread_1;
> >     __cilkrts_bump_loop_rank;
> >     __cilkrts_bump_loop_rank_internal;
> >     __cilkrts_bump_worker_rank;
> >     __cilkrts_bump_worker_rank_internal;
> >     __cilkrts_enter_frame_1;
> >     __cilkrts_enter_frame_fast_1;
> >     __cilkrts_get_pedigree_info;
> >     __cilkrts_get_pedigree_internal;
> >     __cilkrts_get_sf;
> >     __cilkrts_get_stack_size;
> >     __cilkrts_get_worker_rank;
> >     __cilkrts_save_fp_ctrl_state;
> >     __cilkrts_stack_alloc;
> >     __cilkrts_stack_free;
> >     __cilkrts_watch_stack;
> > };
> 
> You probably want CILKABI1 to inherit from CILKABI0.  E.g.

The inheritance is added.

> 
>   } CLKABI0;
> 
> Is there any relation between these and CILKLIB1.02?
> 

There is no relation. They simply are exported by the same shared object.

> 
> r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]