[gomp4] GOMP_target fall back execution

Jakub Jelinek jakub@redhat.com
Wed Sep 18 10:38:00 GMT 2013


On Wed, Sep 18, 2013 at 12:31:18PM +0200, Richard Biener wrote:
> On Wed, Sep 18, 2013 at 10:38 AM, Jakub Jelinek <jakub@redhat.com> wrote:
> > On Wed, Sep 18, 2013 at 11:54:35AM +0400, Kirill Yukhin wrote:
> >> Hello,
> >> It seems that currently GOMP_target perform call to host variant of the routine:
> >>
> >> void
> >> GOMP_target (int device, void (*fn) (void *), const char *fnname,
> >>              size_t mapnum, void **hostaddrs, size_t *sizes,
> >>              unsigned char *kinds)
> >> {
> >>   device = resolve_device (device);
> >>   if (device == -1)
> >>     {
> >>       /* Host fallback.  */
> >>       fn (hostaddrs);
> >>       return;
> >>     }
> >> ...
> >> }
> >
> > The problem with that is that what GOMP_target does right now for host
> > fallback is not sufficient, but unfortunately I haven't been able to get
> > answers to all my questions about what exactly must be done yet.
> 
> Also the host fallback could still use threads? ...

It surely can use #pragma omp parallel etc. inside of it, how many threads
it will actually create depends on the runtime library, number of all
threads known to libgomp and the state of various internal control
variables.

	Jakub



More information about the Gcc mailing list