This is the mail archive of the
mailing list for the GCC project.
Re: Merge current set of OpenACC changes from gomp-4_0-branch
- From: Ilya Verbin <iverbin at gmail dot com>
- To: Julian Brown <julian at codesourcery dot com>
- Cc: Thomas Schwinge <thomas at codesourcery dot com>, gcc-patches at gcc dot gnu dot org, Jakub Jelinek <jakub at redhat dot com>, Kirill Yukhin <kirill dot yukhin at gmail dot com>
- Date: Tue, 3 Feb 2015 23:01:04 +0300
- Subject: Re: Merge current set of OpenACC changes from gomp-4_0-branch
- Authentication-results: sourceware.org; auth=none
- References: <87egqvu77s dot fsf at schwinge dot name> <20150116231632 dot GB48380 at msticlxl57 dot ims dot intel dot com> <20150123172053 dot GA22341 at msticlxl57 dot ims dot intel dot com> <87lhkpr70s dot fsf at schwinge dot name> <20150126143426 dot GA8810 at msticlxl57 dot ims dot intel dot com> <20150127140741 dot 3f6d650b at octopus> <20150203112844 dot GA54416 at msticlxl57 dot ims dot intel dot com> <20150203130000 dot 7be35f5e at octopus>
On 03 Feb 13:00, Julian Brown wrote:
> On Tue, 3 Feb 2015 14:28:44 +0300
> Ilya Verbin <firstname.lastname@example.org> wrote:
> > On 27 Jan 14:07, Julian Brown wrote:
> > > On Mon, 26 Jan 2015 17:34:26 +0300
> > > Ilya Verbin <email@example.com> wrote:
> > > > Here is my current patch, it works for OpenMP->MIC, but obviously
> > > > will not work for PTX, since it requires symmetrical changes in
> > > > the plugin. Could you please take a look, whether it is possible
> > > > to support this new interface in PTX plugin?
> > >
> > > I think it can probably be made to work. I'll have a look in more
> > > detail.
> > Do you have any progress on this?
> I'm still working on a patch to update OpenACC support and the PTX
> backend to use load/unload_image and to unify initialisation/"opening".
> So far I think the answer is basically "yes, the new interface can be
> supported", though I might request a minor tweak -- e.g. that
> load_image takes an extra "void **" argument so that a libgomp backend
> can allocate a block of generic metadata relating to the image, then
> that same block would be passed (void *) to the unload hook so the
> backend can use it there and deallocate it when it's finished with.
> Would that be possible? (It'd mostly be for a "CUmodule" handle: this
> could be stashed away somewhere within the nvptx backend, but it might
> be neater to put it in generic code since it'll probably be useful for
> other backends anyway.)
An extra argument is not a problem, however I don't quite get the idea.
PTX plugin allocates some data while loading, and needs this data while
unloading? Then why not to create a hash table with image_ptr -> metadata
mapping inside the plugin? In this case, to the unload hook can deallocate
metadata using the image_ptr key. Since this metadata is target-specific,
I believe it would be better to keep it inside the plugin.