yaxunl added a comment.

In https://reviews.llvm.org/D36410#863579, @Anastasia wrote:

> In https://reviews.llvm.org/D36410#863508, @yaxunl wrote:
>
> > In https://reviews.llvm.org/D36410#863426, @Anastasia wrote:
> >
> > > In https://reviews.llvm.org/D36410#863409, @yaxunl wrote:
> > >
> > > > LGTM as a temporary measure until we have a solution for properly 
> > > > emitting blocks as enqueued kernel.
> > >
> > >
> > > Should I start discussion with Khronos on that? What would our preference 
> > > be - implicitly `generic` AS for capture addresses?
> >
> >
> > I had a discussion with Brian and we realized that captured variable in 
> > global address space is kind of unusual since that means each work item 
> > needs to have a different global pointer as the block context argument to 
> > the kernel, whereas usually when you set global pointer kernel argument for 
> > a kernel, different work items get the same global pointer. However, we 
> > cannot totally rule out an implementation of enqueue_kernel like that.
> >
> > That said, I kind of think the address space of captured variable is 
> > implementation dependent, though normally it seems private address space 
> > makes more sense.
>
>
> Would it not be a problem generally though? Because private AS memory won't 
> be accessed elsewhere and therefore if the block is enqueued to run on a 
> different core or any place with different memory segment it would cause an 
> issue...


The block context can be passed to the kernel directly. In this case it ends up 
in the stack of the callee and takes private address space.

> 
> 
>> I do not object to open a discussion at khronos to clarify this.
> 
> Bug #16398 in case you would like to track it.




Repository:
  rL LLVM

https://reviews.llvm.org/D36410



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to