This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC] Offloading Support in libgomp
- From: Torvald Riegel <triegel at redhat dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Richard Biener <richard dot guenther at gmail dot com>, "Michael V. Zolotukhin" <michael dot v dot zolotukhin at gmail dot com>, Kirill Yukhin <kirill dot yukhin at gmail dot com>, Richard Henderson <rth at redhat dot com>, GCC Development <gcc at gcc dot gnu dot org>
- Date: Wed, 28 Aug 2013 13:40:49 +0200
- Subject: Re: [RFC] Offloading Support in libgomp
- Authentication-results: sourceware.org; auth=none
- References: <20130822140810 dot GA27868 at msticlxl57 dot ims dot intel dot com> <20130822142814 dot GB1814 at tucnak dot redhat dot com> <20130823092810 dot GA36483 at msticlxl57 dot ims dot intel dot com> <20130823095250 dot GJ1814 at tucnak dot redhat dot com> <20130823153052 dot GA2974 at msticlxl57 dot ims dot intel dot com> <20130823161631 dot GO1814 at tucnak dot redhat dot com> <20130826115911 dot GA40923 at msticlxl57 dot ims dot intel dot com> <CAFiYyc1M_rJiVPJqU=M_PaqyP4n8nqWQwavZLJS8t6kd3Ejdkg at mail dot gmail dot com> <20130828110601 dot GS21876 at tucnak dot zalov dot cz>
On Wed, 2013-08-28 at 13:06 +0200, Jakub Jelinek wrote:
> On Wed, Aug 28, 2013 at 12:39:00PM +0200, Richard Biener wrote:
> > >From the accelerator BOF video I gather we agreed on using the GOMP
> > representation as unified middle-end. What I didn't get is whether we
> > agreed on libgomp being the unified single runtime (that eventually
> > dispatches to accelerator specific runtimes, opened via dlopen)?
>
> I guess that is up to discussions.
Yes. We didn't have time to discuss this; also, my impression was that
we (meaning people in the room) weren't ready to discuss this yet
because there were too many open questions, including how the particular
platforms/archs that we would be targeting would actually look like
(e.g., on the Linux userspace side).
> In the Intel MIC case (the only thing I've looked briefly at for how the
> offloading works - the COI library) you can load binaries and shared
> libraries either from files or from host memory image, so e.g. you can
> embed the libgomp library, some kind of libm and some kind of libc
> (would that be glibc, newlib, something else?) compiled for the target
> into some data section inside of the plugin or something
> (or load it from files of course).
That's another interesting question: how do we deploy. The "static
linking" into the plugin might be worthwhile if the number of "target
libraries" is small. But if there are several, and/or if we want the
libraries to be decoupled from each other (eg, to make updates easier),
then we'd need a mechanism to load them.
> No idea how you do this in the
> HSAIL case, or PTX.
Yes, this is something we should discuss at some point, for each
platform that we want accelerators to be supported on. I'm not sure
whether GCC is the optimal place for this conversation (GCC would rather
be a user of whatever is built), but maybe it is in absence of
alternatives :-)
Looking at the Linux side of this is something that I'm interested in.
Torvald