[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