[gomp4] Vector-single predication

Julian Brown julian@codesourcery.com
Thu May 21 13:42:00 GMT 2015


On Thu, 21 May 2015 15:21:54 +0200
Jakub Jelinek <jakub@redhat.com> wrote:

> On Thu, May 21, 2015 at 02:05:12PM +0100, Julian Brown wrote:
> > OpenACC handles function calls specially (calling them "routines"
> > -- of varying sorts, gang, worker, vector or seq, affecting where
> > they can be invoked from). The plan is that all threads will call
> > such routines -- and then some threads will be "neutered" as
> > appropriate within the routines themselves, as appropriate.
> 
> All functions will behave that way, or just some using some magic
> attribute etc.?  Say will newlib functions behave this way (math
> functions, printf, ...)? 

It's actually unclear at this point if "regular" functions are
supported by OpenACC at all (the spec says nothing about them). They
probably raise "interesting" questions about re-entrancy,
synchronisation, and so on.

> For math functions e.g. it would be nice if
> they could behave both ways (perhaps as separate entrypoints), so
> have the possibility to say how many threads from the warp will
> perform the operation and then work on array arguments and array
> return value (kind like OpenMP or Cilk+ elemental functions, just
> perhaps with different argument/return value passing conventions).

And that's something that's way outside the spec as currently defined,
AFAIK.

Julian



More information about the Gcc-patches mailing list