On Wed, Feb 04, 2015 at 15:05:45 +0000, Julian Brown wrote: > This (WIP) patch is based on top of a version of your patch that I > merged to our internal branch: that's still the easiest way for me to > test the PTX backend (with unloading support) at present, and it passes > libgomp testing that way. Trunk should be fairly close, but I haven't > tried applying it there yet. > > The major changes are: > > * The removal of the OpenACC-specific plugin hooks open_device, > close_device, set_device_num and get_device_num. The functionality > has been moved into the init/fini hooks (for the first two) or moved > into the target-independent OpenACC parts, respectively. > > * The PTX mkoffload utility has been extended to support variables as > well as function mapping, to fill out support for the load/unload > image hooks. (Not really tested so far!) > > * The plugin hooks that are shared between OpenMP and OpenACC now > support the "device number" argument properly: that should help with > (eventually) unifying the plugin interface for the two APIs. (With > set_device_num and get_device_num removed, the plugin is "stateless" > with respect to which device is currently active. The rest of the > OpenACC hooks -- async functions, etc. -- should probably be changed > to take a device number argument too, but that could be a follow-on > patch.) > > * The limitation of having only one type of device active simultaneously > in the OpenACC runtime has (theoretically!) been removed. > > Thoughts?
Up. I have no comments here since I'm not familiar with OpenACC and PTX, but I hope that Thomas and Jakub will review this and my corresponding patches [1], [2] before the final closure of the trunk. [1] https://gcc.gnu.org/ml/gcc-patches/2015-01/msg02275.html [2] https://gcc.gnu.org/ml/gcc-patches/2014-11/msg01912.html -- Ilya