This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
libgomp: Normalize the names of a few functions of the libgomp plugin API (was: libgomp: Provide prototypes for functions implemented by libgomp plugins)
- From: Thomas Schwinge <thomas at codesourcery dot com>
- To: Jakub Jelinek <jakub at redhat dot com>, <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 2 Feb 2017 13:22:37 +0100
- Subject: libgomp: Normalize the names of a few functions of the libgomp plugin API (was: libgomp: Provide prototypes for functions implemented by libgomp plugins)
- Authentication-results: sourceware.org; auth=none
- References: <874m0kx3l5.fsf@hertz.schwinge.homeip.net> <20170127092842.GS1867@tucnak> <87efzjuw4h.fsf@hertz.schwinge.homeip.net>
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(-)
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. */
Grüße
Thomas