diff mbox

libgomp: Normalize the names of a few functions of the libgomp plugin API (was: libgomp: Provide prototypes for functions implemented by libgomp plugins)

Message ID 87bmuku6ia.fsf@hertz.schwinge.homeip.net
State New
Headers show

Commit Message

Thomas Schwinge Feb. 2, 2017, 12:22 p.m. UTC
Hi!

On Tue, 31 Jan 2017 15:44:46 +0100, I wrote:
> --- libgomp/libgomp.h
> +++ libgomp/libgomp.h
> @@ -882,31 +882,35 @@ typedef struct acc_dispatch_t

> +  __typeof (GOMP_OFFLOAD_openacc_parallel) *exec_func;

As can be seen here, for a handful of functions, the name of the
implementation in the plugins ("GOMP_OFFLOAD_openacc_parallel") doesn't
match the name used in libgomp proper ("openacc.exec_func").  Here is a
patch to adjust these.  OK for trunk?  If not now, then in next stage 1?

commit 4dc0a9c9a6a1d67e298b254d9c1aa7592db5c763
Author: Thomas Schwinge <thomas@codesourcery.com>
Date:   Thu Jan 26 20:18:30 2017 +0100

    libgomp: Normalize the names of a few functions of the libgomp plugin API
    
            libgomp/
            * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
            GOMP_OFFLOAD_openacc_exec.  Adjust all users.
            (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
            GOMP_OFFLOAD_openacc_cuda_get_current_device.  Adjust all users.
            (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
            GOMP_OFFLOAD_openacc_cuda_get_current_context.  Adjust all users.
            (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
            GOMP_OFFLOAD_openacc_cuda_get_stream.  Adjust all users.
            (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
            GOMP_OFFLOAD_openacc_cuda_set_stream.  Adjust all users.
---
 libgomp/ChangeLog             | 11 +++++++++++
 libgomp/libgomp-plugin.h      | 12 ++++++------
 libgomp/libgomp.h             | 10 +++++-----
 libgomp/plugin/plugin-nvptx.c | 14 +++++++-------
 libgomp/target.c              | 10 +++++-----
 5 files changed, 34 insertions(+), 23 deletions(-)



Grüße
 Thomas

Comments

Jakub Jelinek Feb. 2, 2017, 12:27 p.m. UTC | #1
On Thu, Feb 02, 2017 at 01:22:37PM +0100, Thomas Schwinge wrote:
> Hi!
> 
> On Tue, 31 Jan 2017 15:44:46 +0100, I wrote:
> > --- libgomp/libgomp.h
> > +++ libgomp/libgomp.h
> > @@ -882,31 +882,35 @@ typedef struct acc_dispatch_t
> 
> > +  __typeof (GOMP_OFFLOAD_openacc_parallel) *exec_func;
> 
> As can be seen here, for a handful of functions, the name of the
> implementation in the plugins ("GOMP_OFFLOAD_openacc_parallel") doesn't
> match the name used in libgomp proper ("openacc.exec_func").  Here is a
> patch to adjust these.  OK for trunk?  If not now, then in next stage 1?

Ok for trunk now, otherwise we'd have to bump the plugin interface in GCC8, even
when we don't know if we'll need to do that.

	Jakub
diff mbox

Patch

diff --git libgomp/ChangeLog libgomp/ChangeLog
[snipped]
diff --git libgomp/libgomp-plugin.h libgomp/libgomp-plugin.h
index fba45ee..ff81350 100644
--- libgomp/libgomp-plugin.h
+++ libgomp/libgomp-plugin.h
@@ -93,8 +93,8 @@  extern bool GOMP_OFFLOAD_dev2dev (int, void *, const void *, size_t);
 extern bool GOMP_OFFLOAD_can_run (void *);
 extern void GOMP_OFFLOAD_run (int, void *, void *, void **);
 extern void GOMP_OFFLOAD_async_run (int, void *, void *, void **, void *);
-extern void GOMP_OFFLOAD_openacc_parallel (void (*) (void *), size_t, void **,
-					   void **, int, unsigned *, void *);
+extern void GOMP_OFFLOAD_openacc_exec (void (*) (void *), size_t, void **,
+				       void **, int, unsigned *, void *);
 extern void GOMP_OFFLOAD_openacc_register_async_cleanup (void *, int);
 extern int GOMP_OFFLOAD_openacc_async_test (int);
 extern int GOMP_OFFLOAD_openacc_async_test_all (void);
@@ -105,10 +105,10 @@  extern void GOMP_OFFLOAD_openacc_async_wait_all_async (int);
 extern void GOMP_OFFLOAD_openacc_async_set_async (int);
 extern void *GOMP_OFFLOAD_openacc_create_thread_data (int);
 extern void GOMP_OFFLOAD_openacc_destroy_thread_data (void *);
-extern void *GOMP_OFFLOAD_openacc_get_current_cuda_device (void);
-extern void *GOMP_OFFLOAD_openacc_get_current_cuda_context (void);
-extern void *GOMP_OFFLOAD_openacc_get_cuda_stream (int);
-extern int GOMP_OFFLOAD_openacc_set_cuda_stream (int, void *);
+extern void *GOMP_OFFLOAD_openacc_cuda_get_current_device (void);
+extern void *GOMP_OFFLOAD_openacc_cuda_get_current_context (void);
+extern void *GOMP_OFFLOAD_openacc_cuda_get_stream (int);
+extern int GOMP_OFFLOAD_openacc_cuda_set_stream (int, void *);
 
 #ifdef __cplusplus
 }
diff --git libgomp/libgomp.h libgomp/libgomp.h
index 6dfe9aa..1769a48 100644
--- libgomp/libgomp.h
+++ libgomp/libgomp.h
@@ -882,7 +882,7 @@  typedef struct acc_dispatch_t
   struct target_mem_desc *data_environ;
 
   /* Execute.  */
-  __typeof (GOMP_OFFLOAD_openacc_parallel) *exec_func;
+  __typeof (GOMP_OFFLOAD_openacc_exec) *exec_func;
 
   /* Async cleanup callback registration.  */
   __typeof (GOMP_OFFLOAD_openacc_register_async_cleanup)
@@ -905,12 +905,12 @@  typedef struct acc_dispatch_t
 
   /* NVIDIA target specific routines.  */
   struct {
-    __typeof (GOMP_OFFLOAD_openacc_get_current_cuda_device)
+    __typeof (GOMP_OFFLOAD_openacc_cuda_get_current_device)
       *get_current_device_func;
-    __typeof (GOMP_OFFLOAD_openacc_get_current_cuda_context)
+    __typeof (GOMP_OFFLOAD_openacc_cuda_get_current_context)
       *get_current_context_func;
-    __typeof (GOMP_OFFLOAD_openacc_get_cuda_stream) *get_stream_func;
-    __typeof (GOMP_OFFLOAD_openacc_set_cuda_stream) *set_stream_func;
+    __typeof (GOMP_OFFLOAD_openacc_cuda_get_stream) *get_stream_func;
+    __typeof (GOMP_OFFLOAD_openacc_cuda_set_stream) *set_stream_func;
   } cuda;
 } acc_dispatch_t;
 
diff --git libgomp/plugin/plugin-nvptx.c libgomp/plugin/plugin-nvptx.c
index 4144218..0284c7f 100644
--- libgomp/plugin/plugin-nvptx.c
+++ libgomp/plugin/plugin-nvptx.c
@@ -1922,9 +1922,9 @@  GOMP_OFFLOAD_dev2dev (int ord, void *dst, const void *src, size_t n)
 void (*device_run) (int n, void *fn_ptr, void *vars) = NULL;
 
 void
-GOMP_OFFLOAD_openacc_parallel (void (*fn) (void *), size_t mapnum,
-			       void **hostaddrs, void **devaddrs,
-			       int async, unsigned *dims, void *targ_mem_desc)
+GOMP_OFFLOAD_openacc_exec (void (*fn) (void *), size_t mapnum,
+			   void **hostaddrs, void **devaddrs,
+			   int async, unsigned *dims, void *targ_mem_desc)
 {
   nvptx_exec (fn, mapnum, hostaddrs, devaddrs, async, dims, targ_mem_desc);
 }
@@ -2014,13 +2014,13 @@  GOMP_OFFLOAD_openacc_destroy_thread_data (void *data)
 }
 
 void *
-GOMP_OFFLOAD_openacc_get_current_cuda_device (void)
+GOMP_OFFLOAD_openacc_cuda_get_current_device (void)
 {
   return nvptx_get_current_cuda_device ();
 }
 
 void *
-GOMP_OFFLOAD_openacc_get_current_cuda_context (void)
+GOMP_OFFLOAD_openacc_cuda_get_current_context (void)
 {
   return nvptx_get_current_cuda_context ();
 }
@@ -2028,7 +2028,7 @@  GOMP_OFFLOAD_openacc_get_current_cuda_context (void)
 /* NOTE: This returns a CUstream, not a ptx_stream pointer.  */
 
 void *
-GOMP_OFFLOAD_openacc_get_cuda_stream (int async)
+GOMP_OFFLOAD_openacc_cuda_get_stream (int async)
 {
   return nvptx_get_cuda_stream (async);
 }
@@ -2036,7 +2036,7 @@  GOMP_OFFLOAD_openacc_get_cuda_stream (int async)
 /* NOTE: This takes a CUstream, not a ptx_stream pointer.  */
 
 int
-GOMP_OFFLOAD_openacc_set_cuda_stream (int async, void *stream)
+GOMP_OFFLOAD_openacc_cuda_set_stream (int async, void *stream)
 {
   return nvptx_set_cuda_stream (async, stream);
 }
diff --git libgomp/target.c libgomp/target.c
index 26d5aba..3dd119f 100644
--- libgomp/target.c
+++ libgomp/target.c
@@ -2399,7 +2399,7 @@  gomp_load_plugin_for_device (struct gomp_device_descr *device,
     }
   if (device->capabilities & GOMP_OFFLOAD_CAP_OPENACC_200)
     {
-      if (!DLSYM_OPT (openacc.exec, openacc_parallel)
+      if (!DLSYM_OPT (openacc.exec, openacc_exec)
 	  || !DLSYM_OPT (openacc.register_async_cleanup,
 			 openacc_register_async_cleanup)
 	  || !DLSYM_OPT (openacc.async_test, openacc_async_test)
@@ -2423,11 +2423,11 @@  gomp_load_plugin_for_device (struct gomp_device_descr *device,
 
       unsigned cuda = 0;
       cuda += DLSYM_OPT (openacc.cuda.get_current_device,
-			 openacc_get_current_cuda_device);
+			 openacc_cuda_get_current_device);
       cuda += DLSYM_OPT (openacc.cuda.get_current_context,
-			 openacc_get_current_cuda_context);
-      cuda += DLSYM_OPT (openacc.cuda.get_stream, openacc_get_cuda_stream);
-      cuda += DLSYM_OPT (openacc.cuda.set_stream, openacc_set_cuda_stream);
+			 openacc_cuda_get_current_context);
+      cuda += DLSYM_OPT (openacc.cuda.get_stream, openacc_cuda_get_stream);
+      cuda += DLSYM_OPT (openacc.cuda.set_stream, openacc_cuda_set_stream);
       if (cuda && cuda != 4)
 	{
 	  /* Make sure all the CUDA functions are there if any of them are.  */