On Wed, Dec 02, 2015 at 08:38:56AM -0500, Nathan Sidwell wrote: > On 12/02/15 08:10, Jakub Jelinek wrote: > >On Wed, Dec 02, 2015 at 08:02:47AM -0500, Nathan Sidwell wrote: > > >Always the whole stack, from the current stack pointer up to top of the > >stack, so sometimes a few bytes, sometimes a few kilobytes or more each time? > > The frame of the current function. Not the whole stack. As I said, there's > no visibility of the stack beyond the current function. (one could > implement some kind of chaining, I guess)
So, how does OpenACC cope with this? Or does the OpenACC execution model not allow anything like that, i.e. have some function with an automatic variable pass the address of that variable to some other function and that other function use #acc loop kind that expects the caller to be at the worker level and splits the work among the threads in the warp, on the array section pointed by that passed in pointer? See the OpenMP testcase I've posted in this thread. Jakub