From b97e78b712b21e558a112b7bc683bf05ca7cdcc9 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 10 Aug 2015 18:48:26 +0200 Subject: [PATCH] [PR libgomp/65742, PR middle-end/66332] libgomp: Remove plugin for non-shared memory host execution gcc/ * builtins.c (expand_builtin_acc_on_device) [ACCEL_COMPILER]: Emit open-coded sequence. * omp-low.c (oacc_process_reduction_data): Remove handline of GOMP_DEVICE_HOST_NONSHM. gcc/testsuite/ * c-c++-common/goacc/acc_on_device-2.c: Remove XFAIL for C. include/ * gomp-constants.c (GOMP_DEVICE_HOST_NONSHM): Remove. libgomp/ * libgomp-plugin.h (enum offload_target_type): Remove OFFLOAD_TARGET_TYPE_HOST_NONSHM. * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm. * openacc.h (enum acc_device_t): Likewise. * openacc_lib.h: Likewise. * oacc-init.c (name_of_acc_device_t): Don't handle it. (acc_on_device): Just use __builtin_acc_on_device. * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage of acc_on_device builtin. * plugin/plugin-host.h: Remove file. * plugin/plugin-host.c: Likewise, but salvage some content into... * oacc-host.c: ... this file. * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la. * plugin/configfrag.ac (offload_targets): Don't add host_nonshm. * Makefile.in: Regenerate. * configure: Likewise. * testsuite/lib/libgomp.exp (check_effective_target_openacc_host_nonshm_selected): Remove. * testsuite/libgomp.oacc-c++/c++.exp: Don't handle ACC_DEVICE_TYPE=host_nonshm. * testsuite/libgomp.oacc-c/c.exp: Likewise. * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. From-SVN: r226763 --- gcc/ChangeLog | 7 + gcc/builtins.c | 12 +- gcc/omp-low.c | 18 -- gcc/testsuite/ChangeLog | 6 + gcc/testsuite/c-c++-common/goacc/acc_on_device-2.c | 10 +- include/ChangeLog | 4 + include/gomp-constants.h | 4 +- libgomp/ChangeLog | 29 +++ libgomp/Makefile.in | 33 +-- libgomp/configure | 1 - libgomp/libgomp-plugin.h | 2 +- libgomp/oacc-host.c | 232 +++++++++++++++--- libgomp/oacc-init.c | 16 +- libgomp/openacc.f90 | 2 +- libgomp/openacc.h | 2 +- libgomp/openacc_lib.h | 3 +- libgomp/plugin/Makefrag.am | 9 - libgomp/plugin/configfrag.ac | 1 - libgomp/plugin/plugin-host.c | 259 --------------------- libgomp/plugin/plugin-host.h | 37 --- libgomp/testsuite/lib/libgomp.exp | 10 - libgomp/testsuite/libgomp.oacc-c++/c++.exp | 3 - .../libgomp.oacc-c-c++-common/acc_on_device-1.c | 11 - libgomp/testsuite/libgomp.oacc-c-c++-common/if-1.c | 1 - libgomp/testsuite/libgomp.oacc-c/c.exp | 3 - .../libgomp.oacc-fortran/acc_on_device-1-1.f90 | 7 - .../libgomp.oacc-fortran/acc_on_device-1-2.f | 7 - .../libgomp.oacc-fortran/acc_on_device-1-3.f | 7 - libgomp/testsuite/libgomp.oacc-fortran/fortran.exp | 3 - 29 files changed, 262 insertions(+), 477 deletions(-) delete mode 100644 libgomp/plugin/plugin-host.c delete mode 100644 libgomp/plugin/plugin-host.h diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f547931..efc177c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2015-08-10 Thomas Schwinge + PR libgomp/65742 + PR middle-end/66332 + * builtins.c (expand_builtin_acc_on_device) [ACCEL_COMPILER]: Emit + open-coded sequence. + * omp-low.c (oacc_process_reduction_data): Remove handline of + GOMP_DEVICE_HOST_NONSHM. + * lto-streamer-in.c (lto_input_mode_table): Adjust to GET_MODE_INNER changes. diff --git a/gcc/builtins.c b/gcc/builtins.c index eb7b7b2..82229a5 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -5879,10 +5879,8 @@ expand_stack_save (void) acceleration device (ACCEL_COMPILER conditional). */ static rtx -expand_builtin_acc_on_device (tree exp ATTRIBUTE_UNUSED, - rtx target ATTRIBUTE_UNUSED) +expand_builtin_acc_on_device (tree exp, rtx target) { -#ifdef ACCEL_COMPILER if (!validate_arglist (exp, INTEGER_TYPE, VOID_TYPE)) return NULL_RTX; @@ -5891,8 +5889,13 @@ expand_builtin_acc_on_device (tree exp ATTRIBUTE_UNUSED, /* Return (arg == v1 || arg == v2) ? 1 : 0. */ machine_mode v_mode = TYPE_MODE (TREE_TYPE (arg)); rtx v = expand_normal (arg), v1, v2; +#ifdef ACCEL_COMPILER v1 = GEN_INT (GOMP_DEVICE_NOT_HOST); v2 = GEN_INT (ACCEL_COMPILER_acc_device); +#else + v1 = GEN_INT (GOMP_DEVICE_NONE); + v2 = GEN_INT (GOMP_DEVICE_HOST); +#endif machine_mode target_mode = TYPE_MODE (integer_type_node); if (!target || !register_operand (target, target_mode)) target = gen_reg_rtx (target_mode); @@ -5906,9 +5909,6 @@ expand_builtin_acc_on_device (tree exp ATTRIBUTE_UNUSED, emit_label (done_label); return target; -#else - return NULL; -#endif } diff --git a/gcc/omp-low.c b/gcc/omp-low.c index 0f5c0f1..c1dc919 100644 --- a/gcc/omp-low.c +++ b/gcc/omp-low.c @@ -9975,24 +9975,6 @@ oacc_process_reduction_data (gimple_seq *body, gimple_seq *in_stmt_seqp, in_stmt_seqp); gimple_seq_add_stmt (in_stmt_seqp, gimple_build_label (exit)); - /* Also, set nthreads = 1 for ACC_DEVICE_TYPE=host_nonshm. */ - gimplify_assign (acc_device_host, - build_int_cst (integer_type_node, - GOMP_DEVICE_HOST_NONSHM), - in_stmt_seqp); - - enter = create_artificial_label (UNKNOWN_LOCATION); - exit = create_artificial_label (UNKNOWN_LOCATION); - - stmt = gimple_build_cond (EQ_EXPR, acc_device, acc_device_host, - enter, exit); - gimple_seq_add_stmt (in_stmt_seqp, stmt); - gimple_seq_add_stmt (in_stmt_seqp, gimple_build_label (enter)); - gimplify_assign (nthreads, fold_build1 (NOP_EXPR, sizetype, - integer_one_node), - in_stmt_seqp); - gimple_seq_add_stmt (in_stmt_seqp, gimple_build_label (exit)); - oacc_initialize_reduction_data (clauses, nthreads, in_stmt_seqp, ctx); oacc_finalize_reduction_data (clauses, nthreads, out_stmt_seqp, ctx); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 0e707eb..bf858e2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2015-08-10 Thomas Schwinge + + PR libgomp/65742 + PR middle-end/66332 + * c-c++-common/goacc/acc_on_device-2.c: Remove XFAIL for C. + 2015-08-10 Uros Bizjak PR fortran/64022 diff --git a/gcc/testsuite/c-c++-common/goacc/acc_on_device-2.c b/gcc/testsuite/c-c++-common/goacc/acc_on_device-2.c index 6e3d292..ef622a8 100644 --- a/gcc/testsuite/c-c++-common/goacc/acc_on_device-2.c +++ b/gcc/testsuite/c-c++-common/goacc/acc_on_device-2.c @@ -20,17 +20,9 @@ f (void) } /* With -fopenacc, we're expecting the builtin to be expanded, so no calls. - TODO: in C++, even under extern "C", the use of enum for acc_device_t perturbs expansion as a builtin, which expects an int parameter. It's fine when changing acc_device_t to plain int, but that's not what we're doing in . - TODO: given that we can't expand acc_on_device in - gcc/builtins.c:expand_builtin_acc_on_device for in the !ACCEL_COMPILER case - (because at that point we don't know whether we're acc_device_host or - acc_device_host_nonshm), we'll (erroneously) get a library call in the host - code. - - { dg-final { scan-rtl-dump-times "\\\(call \[^\\n\]* acc_on_device" 0 "expand" { xfail { c || c++ } } } } */ - + { dg-final { scan-rtl-dump-times "\\\(call \[^\\n\]* acc_on_device" 0 "expand" { xfail c++ } } } */ diff --git a/include/ChangeLog b/include/ChangeLog index 4a18ed8..7e2e499 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2015-08-10 Thomas Schwinge + + * gomp-constants.c (GOMP_DEVICE_HOST_NONSHM): Remove. + 2015-05-22 Yunlian Jiang * libiberty.h (asprintf): Don't declare if HAVE_DECL_ASPRINTF is diff --git a/include/gomp-constants.h b/include/gomp-constants.h index e3d2820..807e672 100644 --- a/include/gomp-constants.h +++ b/include/gomp-constants.h @@ -101,11 +101,11 @@ enum gomp_map_kind /* Device codes. Keep in sync with libgomp/{openacc.h,openacc.f90,openacc_lib.h}:acc_device_t as well as - libgomp/libgomp_target.h. */ + libgomp/libgomp-plugin.h. */ #define GOMP_DEVICE_NONE 0 #define GOMP_DEVICE_DEFAULT 1 #define GOMP_DEVICE_HOST 2 -#define GOMP_DEVICE_HOST_NONSHM 3 +/* #define GOMP_DEVICE_HOST_NONSHM 3 removed. */ #define GOMP_DEVICE_NOT_HOST 4 #define GOMP_DEVICE_NVIDIA_PTX 5 #define GOMP_DEVICE_INTEL_MIC 6 diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 084aabd..1d265b6 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,4 +1,33 @@ 2015-08-10 Thomas Schwinge + + * libgomp-plugin.h (enum offload_target_type): Remove + OFFLOAD_TARGET_TYPE_HOST_NONSHM. + * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm. + * openacc.h (enum acc_device_t): Likewise. + * openacc_lib.h: Likewise. + * oacc-init.c (name_of_acc_device_t): Don't handle it. + (acc_on_device): Just use __builtin_acc_on_device. + * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage + of acc_on_device builtin. + * plugin/plugin-host.h: Remove file. + * plugin/plugin-host.c: Likewise, but salvage some content into... + * oacc-host.c: ... this file. + * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la. + * plugin/configfrag.ac (offload_targets): Don't add host_nonshm. + * Makefile.in: Regenerate. + * configure: Likewise. + * testsuite/lib/libgomp.exp + (check_effective_target_openacc_host_nonshm_selected): Remove. + * testsuite/libgomp.oacc-c++/c++.exp: Don't handle + ACC_DEVICE_TYPE=host_nonshm. + * testsuite/libgomp.oacc-c/c.exp: Likewise. + * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. + * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise. + * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise. + * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise. + * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise. + +2015-08-10 Thomas Schwinge Jakub Jelinek * config/nvptx/affinity.c: New file. diff --git a/libgomp/Makefile.in b/libgomp/Makefile.in index 9d07e8d..79745ce 100644 --- a/libgomp/Makefile.in +++ b/libgomp/Makefile.in @@ -146,15 +146,6 @@ am__installdirs = "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(infodir)" \ "$(DESTDIR)$(fincludedir)" "$(DESTDIR)$(libsubincludedir)" \ "$(DESTDIR)$(toolexeclibdir)" LTLIBRARIES = $(toolexeclib_LTLIBRARIES) -libgomp_plugin_host_nonshm_la_DEPENDENCIES = libgomp.la -am_libgomp_plugin_host_nonshm_la_OBJECTS = \ - libgomp_plugin_host_nonshm_la-plugin-host.lo -libgomp_plugin_host_nonshm_la_OBJECTS = \ - $(am_libgomp_plugin_host_nonshm_la_OBJECTS) -libgomp_plugin_host_nonshm_la_LINK = $(LIBTOOL) --tag=CC \ - $(libgomp_plugin_host_nonshm_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(libgomp_plugin_host_nonshm_la_LDFLAGS) $(LDFLAGS) -o $@ am__DEPENDENCIES_1 = @PLUGIN_NVPTX_TRUE@libgomp_plugin_nvptx_la_DEPENDENCIES = libgomp.la \ @PLUGIN_NVPTX_TRUE@ $(am__DEPENDENCIES_1) @@ -196,8 +187,7 @@ FCLD = $(FC) FCLINK = $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(FCLD) $(AM_FCFLAGS) $(FCFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ -SOURCES = $(libgomp_plugin_host_nonshm_la_SOURCES) \ - $(libgomp_plugin_nvptx_la_SOURCES) $(libgomp_la_SOURCES) +SOURCES = $(libgomp_plugin_nvptx_la_SOURCES) $(libgomp_la_SOURCES) MULTISRCTOP = MULTIBUILDTOP = MULTIDIRS = @@ -401,8 +391,7 @@ libsubincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)/include AM_CPPFLAGS = $(addprefix -I, $(search_path)) AM_CFLAGS = $(XCFLAGS) AM_LDFLAGS = $(XLDFLAGS) $(SECTION_LDFLAGS) $(OPT_LDFLAGS) -toolexeclib_LTLIBRARIES = libgomp.la $(am__append_1) \ - libgomp-plugin-host_nonshm.la +toolexeclib_LTLIBRARIES = libgomp.la $(am__append_1) nodist_toolexeclib_HEADERS = libgomp.spec # -Wc is only a libtool option. @@ -437,14 +426,6 @@ libgomp_la_SOURCES = alloc.c barrier.c critical.c env.c error.c iter.c \ @PLUGIN_NVPTX_TRUE@ $(lt_host_flags) $(PLUGIN_NVPTX_LDFLAGS) @PLUGIN_NVPTX_TRUE@libgomp_plugin_nvptx_la_LIBADD = libgomp.la $(PLUGIN_NVPTX_LIBS) @PLUGIN_NVPTX_TRUE@libgomp_plugin_nvptx_la_LIBTOOLFLAGS = --tag=disable-static -libgomp_plugin_host_nonshm_version_info = -version-info $(libtool_VERSION) -libgomp_plugin_host_nonshm_la_SOURCES = plugin/plugin-host.c -libgomp_plugin_host_nonshm_la_CPPFLAGS = $(AM_CPPFLAGS) -DHOST_NONSHM_PLUGIN -libgomp_plugin_host_nonshm_la_LDFLAGS = \ - $(libgomp_plugin_host_nonshm_version_info) $(lt_host_flags) - -libgomp_plugin_host_nonshm_la_LIBADD = libgomp.la -libgomp_plugin_host_nonshm_la_LIBTOOLFLAGS = --tag=disable-static nodist_noinst_HEADERS = libgomp_f.h nodist_libsubinclude_HEADERS = omp.h openacc.h @USE_FORTRAN_TRUE@nodist_finclude_HEADERS = omp_lib.h omp_lib.f90 omp_lib.mod omp_lib_kinds.mod \ @@ -572,8 +553,6 @@ clean-toolexeclibLTLIBRARIES: echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done -libgomp-plugin-host_nonshm.la: $(libgomp_plugin_host_nonshm_la_OBJECTS) $(libgomp_plugin_host_nonshm_la_DEPENDENCIES) $(EXTRA_libgomp_plugin_host_nonshm_la_DEPENDENCIES) - $(libgomp_plugin_host_nonshm_la_LINK) -rpath $(toolexeclibdir) $(libgomp_plugin_host_nonshm_la_OBJECTS) $(libgomp_plugin_host_nonshm_la_LIBADD) $(LIBS) libgomp-plugin-nvptx.la: $(libgomp_plugin_nvptx_la_OBJECTS) $(libgomp_plugin_nvptx_la_DEPENDENCIES) $(EXTRA_libgomp_plugin_nvptx_la_DEPENDENCIES) $(libgomp_plugin_nvptx_la_LINK) $(am_libgomp_plugin_nvptx_la_rpath) $(libgomp_plugin_nvptx_la_OBJECTS) $(libgomp_plugin_nvptx_la_LIBADD) $(LIBS) libgomp.la: $(libgomp_la_OBJECTS) $(libgomp_la_DEPENDENCIES) $(EXTRA_libgomp_la_DEPENDENCIES) @@ -596,7 +575,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iter.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iter_ull.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgomp-plugin.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgomp_plugin_host_nonshm_la-plugin-host.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgomp_plugin_nvptx_la-plugin-nvptx.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lock.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/loop.Plo@am__quote@ @@ -644,13 +622,6 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< -libgomp_plugin_host_nonshm_la-plugin-host.lo: plugin/plugin-host.c -@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(libgomp_plugin_host_nonshm_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgomp_plugin_host_nonshm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libgomp_plugin_host_nonshm_la-plugin-host.lo -MD -MP -MF $(DEPDIR)/libgomp_plugin_host_nonshm_la-plugin-host.Tpo -c -o libgomp_plugin_host_nonshm_la-plugin-host.lo `test -f 'plugin/plugin-host.c' || echo '$(srcdir)/'`plugin/plugin-host.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libgomp_plugin_host_nonshm_la-plugin-host.Tpo $(DEPDIR)/libgomp_plugin_host_nonshm_la-plugin-host.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='plugin/plugin-host.c' object='libgomp_plugin_host_nonshm_la-plugin-host.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(libgomp_plugin_host_nonshm_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgomp_plugin_host_nonshm_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libgomp_plugin_host_nonshm_la-plugin-host.lo `test -f 'plugin/plugin-host.c' || echo '$(srcdir)/'`plugin/plugin-host.c - libgomp_plugin_nvptx_la-plugin-nvptx.lo: plugin/plugin-nvptx.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(libgomp_plugin_nvptx_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgomp_plugin_nvptx_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libgomp_plugin_nvptx_la-plugin-nvptx.lo -MD -MP -MF $(DEPDIR)/libgomp_plugin_nvptx_la-plugin-nvptx.Tpo -c -o libgomp_plugin_nvptx_la-plugin-nvptx.lo `test -f 'plugin/plugin-nvptx.c' || echo '$(srcdir)/'`plugin/plugin-nvptx.c @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libgomp_plugin_nvptx_la-plugin-nvptx.Tpo $(DEPDIR)/libgomp_plugin_nvptx_la-plugin-nvptx.Plo diff --git a/libgomp/configure b/libgomp/configure index 867ce40..c93e877 100755 --- a/libgomp/configure +++ b/libgomp/configure @@ -15170,7 +15170,6 @@ if test x"$plugin_support" = xyes; then $as_echo "#define PLUGIN_SUPPORT 1" >>confdefs.h - offload_targets=host_nonshm elif test "x${enable_offload_targets-no}" != xno; then as_fn_error "Can't support offloading without support for plugins" "$LINENO" 5 fi diff --git a/libgomp/libgomp-plugin.h b/libgomp/libgomp-plugin.h index 1072ae4..24fbb94 100644 --- a/libgomp/libgomp-plugin.h +++ b/libgomp/libgomp-plugin.h @@ -46,7 +46,7 @@ extern "C" { enum offload_target_type { OFFLOAD_TARGET_TYPE_HOST = 2, - OFFLOAD_TARGET_TYPE_HOST_NONSHM = 3, + /* OFFLOAD_TARGET_TYPE_HOST_NONSHM = 3 removed. */ OFFLOAD_TARGET_TYPE_NVIDIA_PTX = 5, OFFLOAD_TARGET_TYPE_INTEL_MIC = 6 }; diff --git a/libgomp/oacc-host.c b/libgomp/oacc-host.c index 6dcdbf3..17a5102 100644 --- a/libgomp/oacc-host.c +++ b/libgomp/oacc-host.c @@ -26,51 +26,215 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ -/* This shares much of the implementation of the plugin-host.c "host_nonshm" - plugin. */ -#include "plugin/plugin-host.c" +#include "libgomp.h" +#include "oacc-int.h" + +#include +#include +#include + +static struct gomp_device_descr host_dispatch; + +static const char * +host_get_name (void) +{ + return host_dispatch.name; +} + +static unsigned int +host_get_caps (void) +{ + return host_dispatch.capabilities; +} + +static int +host_get_type (void) +{ + return host_dispatch.type; +} + +static int +host_get_num_devices (void) +{ + return 1; +} + +static void +host_init_device (int n __attribute__ ((unused))) +{ +} + +static void +host_fini_device (int n __attribute__ ((unused))) +{ +} + +static int +host_load_image (int n __attribute__ ((unused)), + const void *t __attribute__ ((unused)), + struct addr_pair **r __attribute__ ((unused))) +{ + return 0; +} + +static void +host_unload_image (int n __attribute__ ((unused)), + const void *t __attribute__ ((unused))) +{ +} + +static void * +host_alloc (int n __attribute__ ((unused)), size_t s) +{ + return gomp_malloc (s); +} + +static void +host_free (int n __attribute__ ((unused)), void *p) +{ + free (p); +} + +static void * +host_dev2host (int n __attribute__ ((unused)), + void *h __attribute__ ((unused)), + const void *d __attribute__ ((unused)), + size_t s __attribute__ ((unused))) +{ + return NULL; +} + +static void * +host_host2dev (int n __attribute__ ((unused)), + void *d __attribute__ ((unused)), + const void *h __attribute__ ((unused)), + size_t s __attribute__ ((unused))) +{ + return NULL; +} + +static void +host_run (int n __attribute__ ((unused)), void *fn_ptr, void *vars) +{ + void (*fn)(void *) = (void (*)(void *)) fn_ptr; + + fn (vars); +} + +static void +host_openacc_exec (void (*fn) (void *), + size_t mapnum __attribute__ ((unused)), + void **hostaddrs, + void **devaddrs __attribute__ ((unused)), + size_t *sizes __attribute__ ((unused)), + unsigned short *kinds __attribute__ ((unused)), + int num_gangs __attribute__ ((unused)), + int num_workers __attribute__ ((unused)), + int vector_length __attribute__ ((unused)), + int async __attribute__ ((unused)), + void *targ_mem_desc __attribute__ ((unused))) +{ + fn (hostaddrs); +} + +static void +host_openacc_register_async_cleanup (void *targ_mem_desc __attribute__ ((unused))) +{ +} + +static int +host_openacc_async_test (int async __attribute__ ((unused))) +{ + return 1; +} + +static int +host_openacc_async_test_all (void) +{ + return 1; +} + +static void +host_openacc_async_wait (int async __attribute__ ((unused))) +{ +} + +static void +host_openacc_async_wait_async (int async1 __attribute__ ((unused)), + int async2 __attribute__ ((unused))) +{ +} + +static void +host_openacc_async_wait_all (void) +{ +} + +static void +host_openacc_async_wait_all_async (int async __attribute__ ((unused))) +{ +} + +static void +host_openacc_async_set_async (int async __attribute__ ((unused))) +{ +} + +static void * +host_openacc_create_thread_data (int ord __attribute__ ((unused))) +{ + return NULL; +} + +static void +host_openacc_destroy_thread_data (void *tls_data __attribute__ ((unused))) +{ +} static struct gomp_device_descr host_dispatch = { .name = "host", - .capabilities = (GOMP_OFFLOAD_CAP_OPENACC_200 + .capabilities = (GOMP_OFFLOAD_CAP_SHARED_MEM | GOMP_OFFLOAD_CAP_NATIVE_EXEC - | GOMP_OFFLOAD_CAP_SHARED_MEM), + | GOMP_OFFLOAD_CAP_OPENACC_200), .target_id = 0, .type = OFFLOAD_TARGET_TYPE_HOST, - .get_name_func = GOMP_OFFLOAD_get_name, - .get_caps_func = GOMP_OFFLOAD_get_caps, - .get_type_func = GOMP_OFFLOAD_get_type, - .get_num_devices_func = GOMP_OFFLOAD_get_num_devices, - .init_device_func = GOMP_OFFLOAD_init_device, - .fini_device_func = GOMP_OFFLOAD_fini_device, - .load_image_func = GOMP_OFFLOAD_load_image, - .unload_image_func = GOMP_OFFLOAD_unload_image, - .alloc_func = GOMP_OFFLOAD_alloc, - .free_func = GOMP_OFFLOAD_free, - .dev2host_func = GOMP_OFFLOAD_dev2host, - .host2dev_func = GOMP_OFFLOAD_host2dev, - .run_func = GOMP_OFFLOAD_run, - + .get_name_func = host_get_name, + .get_caps_func = host_get_caps, + .get_type_func = host_get_type, + .get_num_devices_func = host_get_num_devices, + .init_device_func = host_init_device, + .fini_device_func = host_fini_device, + .load_image_func = host_load_image, + .unload_image_func = host_unload_image, + .alloc_func = host_alloc, + .free_func = host_free, + .dev2host_func = host_dev2host, + .host2dev_func = host_host2dev, + .run_func = host_run, + + .mem_map = { NULL }, + /* .lock initilized in goacc_host_init. */ .is_initialized = false, .openacc = { - .exec_func = GOMP_OFFLOAD_openacc_parallel, + .data_environ = NULL, + + .exec_func = host_openacc_exec, - .register_async_cleanup_func - = GOMP_OFFLOAD_openacc_register_async_cleanup, + .register_async_cleanup_func = host_openacc_register_async_cleanup, - .async_set_async_func = GOMP_OFFLOAD_openacc_async_set_async, - .async_test_func = GOMP_OFFLOAD_openacc_async_test, - .async_test_all_func = GOMP_OFFLOAD_openacc_async_test_all, - .async_wait_func = GOMP_OFFLOAD_openacc_async_wait, - .async_wait_async_func = GOMP_OFFLOAD_openacc_async_wait_async, - .async_wait_all_func = GOMP_OFFLOAD_openacc_async_wait_all, - .async_wait_all_async_func = GOMP_OFFLOAD_openacc_async_wait_all_async, + .async_test_func = host_openacc_async_test, + .async_test_all_func = host_openacc_async_test_all, + .async_wait_func = host_openacc_async_wait, + .async_wait_async_func = host_openacc_async_wait_async, + .async_wait_all_func = host_openacc_async_wait_all, + .async_wait_all_async_func = host_openacc_async_wait_all_async, + .async_set_async_func = host_openacc_async_set_async, - .create_thread_data_func = GOMP_OFFLOAD_openacc_create_thread_data, - .destroy_thread_data_func = GOMP_OFFLOAD_openacc_destroy_thread_data, + .create_thread_data_func = host_openacc_create_thread_data, + .destroy_thread_data_func = host_openacc_destroy_thread_data, .cuda = { .get_current_device_func = NULL, @@ -81,9 +245,9 @@ static struct gomp_device_descr host_dispatch = } }; -/* Register this device type. */ -static __attribute__ ((constructor)) -void goacc_host_init (void) +/* Initialize and register this device type. */ +static __attribute__ ((constructor)) void +goacc_host_init (void) { gomp_mutex_init (&host_dispatch.lock); goacc_register (&host_dispatch); diff --git a/libgomp/oacc-init.c b/libgomp/oacc-init.c index 105d9dc..c12f8ad 100644 --- a/libgomp/oacc-init.c +++ b/libgomp/oacc-init.c @@ -29,7 +29,6 @@ #include "libgomp.h" #include "oacc-int.h" #include "openacc.h" -#include "plugin/plugin-host.h" #include #include #include @@ -102,7 +101,6 @@ name_of_acc_device_t (enum acc_device_t type) case acc_device_none: return "none"; case acc_device_default: return "default"; case acc_device_host: return "host"; - case acc_device_host_nonshm: return "host_nonshm"; case acc_device_not_host: return "not_host"; case acc_device_nvidia: return "nvidia"; default: gomp_fatal ("unknown device type %u", (unsigned) type); @@ -625,18 +623,8 @@ ialias (acc_set_device_num) int acc_on_device (acc_device_t dev) { - struct goacc_thread *thr = goacc_thread (); - - /* We only want to appear to be the "host_nonshm" plugin from "offloaded" - code -- i.e. within a parallel region. Test a flag set by the - openacc_parallel hook of the host_nonshm plugin to determine that. */ - if (acc_get_device_type () == acc_device_host_nonshm - && thr && thr->target_tls - && ((struct nonshm_thread *)thr->target_tls)->nonshm_exec) - return dev == acc_device_host_nonshm || dev == acc_device_not_host; - - /* For OpenACC, libgomp is only built for the host, so this is sufficient. */ - return dev == acc_device_host || dev == acc_device_none; + /* Just rely on the compiler builtin. */ + return __builtin_acc_on_device (dev); } ialias (acc_on_device) diff --git a/libgomp/openacc.f90 b/libgomp/openacc.f90 index 04d8088..fbd63c6 100644 --- a/libgomp/openacc.f90 +++ b/libgomp/openacc.f90 @@ -43,7 +43,7 @@ module openacc_kinds integer (acc_device_kind), parameter :: acc_device_none = 0 integer (acc_device_kind), parameter :: acc_device_default = 1 integer (acc_device_kind), parameter :: acc_device_host = 2 - integer (acc_device_kind), parameter :: acc_device_host_nonshm = 3 + ! integer (acc_device_kind), parameter :: acc_device_host_nonshm = 3 removed. integer (acc_device_kind), parameter :: acc_device_not_host = 4 integer (acc_device_kind), parameter :: acc_device_nvidia = 5 diff --git a/libgomp/openacc.h b/libgomp/openacc.h index 44a1526..fc353e1 100644 --- a/libgomp/openacc.h +++ b/libgomp/openacc.h @@ -53,7 +53,7 @@ typedef enum acc_device_t acc_device_none = 0, acc_device_default = 1, acc_device_host = 2, - acc_device_host_nonshm = 3, + /* acc_device_host_nonshm = 3 removed. */ acc_device_not_host = 4, acc_device_nvidia = 5, _ACC_device_hwm diff --git a/libgomp/openacc_lib.h b/libgomp/openacc_lib.h index 28659a1..e9c503e 100644 --- a/libgomp/openacc_lib.h +++ b/libgomp/openacc_lib.h @@ -38,7 +38,8 @@ integer (acc_device_kind), parameter :: acc_device_none = 0 integer (acc_device_kind), parameter :: acc_device_default = 1 integer (acc_device_kind), parameter :: acc_device_host = 2 - integer (acc_device_kind), parameter :: acc_device_host_nonshm = 3 +! integer (acc_device_kind), parameter :: acc_device_host_nonshm = 3 +! removed. integer (acc_device_kind), parameter :: acc_device_not_host = 4 integer (acc_device_kind), parameter :: acc_device_nvidia = 5 diff --git a/libgomp/plugin/Makefrag.am b/libgomp/plugin/Makefrag.am index 167485f..745becd 100644 --- a/libgomp/plugin/Makefrag.am +++ b/libgomp/plugin/Makefrag.am @@ -38,12 +38,3 @@ libgomp_plugin_nvptx_la_LDFLAGS += $(PLUGIN_NVPTX_LDFLAGS) libgomp_plugin_nvptx_la_LIBADD = libgomp.la $(PLUGIN_NVPTX_LIBS) libgomp_plugin_nvptx_la_LIBTOOLFLAGS = --tag=disable-static endif - -libgomp_plugin_host_nonshm_version_info = -version-info $(libtool_VERSION) -toolexeclib_LTLIBRARIES += libgomp-plugin-host_nonshm.la -libgomp_plugin_host_nonshm_la_SOURCES = plugin/plugin-host.c -libgomp_plugin_host_nonshm_la_CPPFLAGS = $(AM_CPPFLAGS) -DHOST_NONSHM_PLUGIN -libgomp_plugin_host_nonshm_la_LDFLAGS = \ - $(libgomp_plugin_host_nonshm_version_info) $(lt_host_flags) -libgomp_plugin_host_nonshm_la_LIBADD = libgomp.la -libgomp_plugin_host_nonshm_la_LIBTOOLFLAGS = --tag=disable-static diff --git a/libgomp/plugin/configfrag.ac b/libgomp/plugin/configfrag.ac index 254c688..8c2a420 100644 --- a/libgomp/plugin/configfrag.ac +++ b/libgomp/plugin/configfrag.ac @@ -33,7 +33,6 @@ AC_CHECK_LIB(dl, dlsym, , [plugin_support=no]) if test x"$plugin_support" = xyes; then AC_DEFINE(PLUGIN_SUPPORT, 1, [Define if all infrastructure, needed for plugins, is supported.]) - offload_targets=host_nonshm elif test "x${enable_offload_targets-no}" != xno; then AC_MSG_ERROR([Can't support offloading without support for plugins]) fi diff --git a/libgomp/plugin/plugin-host.c b/libgomp/plugin/plugin-host.c deleted file mode 100644 index da3c5f4..0000000 --- a/libgomp/plugin/plugin-host.c +++ /dev/null @@ -1,259 +0,0 @@ -/* OpenACC Runtime Library: acc_device_host, acc_device_host_nonshm. - - Copyright (C) 2013-2015 Free Software Foundation, Inc. - - Contributed by Mentor Embedded. - - This file is part of the GNU Offloading and Multi Processing Library - (libgomp). - - Libgomp is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. - - Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - FOR A PARTICULAR PURPOSE. See the GNU General Public License for - more details. - - Under Section 7 of GPL version 3, you are granted additional - permissions described in the GCC Runtime Library Exception, version - 3.1, as published by the Free Software Foundation. - - You should have received a copy of the GNU General Public License and - a copy of the GCC Runtime Library Exception along with this program; - see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - . */ - -/* Simple implementation of support routines for a shared-memory - acc_device_host, and a non-shared memory acc_device_host_nonshm, with the - latter built as a plugin. */ - -#include "openacc.h" -#include "config.h" -#ifdef HOST_NONSHM_PLUGIN -#include "libgomp-plugin.h" -#include "oacc-plugin.h" -#else -#include "libgomp.h" -#include "oacc-int.h" -#endif - -#include -#include -#include -#include -#include - -#ifdef HOST_NONSHM_PLUGIN -#define STATIC -#define GOMP(X) GOMP_PLUGIN_##X -#define SELF "host_nonshm plugin: " -#else -#define STATIC static -#define GOMP(X) gomp_##X -#define SELF "host: " -#endif - -#ifdef HOST_NONSHM_PLUGIN -#include "plugin-host.h" -#endif - -STATIC const char * -GOMP_OFFLOAD_get_name (void) -{ -#ifdef HOST_NONSHM_PLUGIN - return "host_nonshm"; -#else - return "host"; -#endif -} - -STATIC unsigned int -GOMP_OFFLOAD_get_caps (void) -{ - unsigned int caps = (GOMP_OFFLOAD_CAP_OPENACC_200 - | GOMP_OFFLOAD_CAP_NATIVE_EXEC); - -#ifndef HOST_NONSHM_PLUGIN - caps |= GOMP_OFFLOAD_CAP_SHARED_MEM; -#endif - - return caps; -} - -STATIC int -GOMP_OFFLOAD_get_type (void) -{ -#ifdef HOST_NONSHM_PLUGIN - return OFFLOAD_TARGET_TYPE_HOST_NONSHM; -#else - return OFFLOAD_TARGET_TYPE_HOST; -#endif -} - -STATIC int -GOMP_OFFLOAD_get_num_devices (void) -{ - return 1; -} - -STATIC void -GOMP_OFFLOAD_init_device (int n __attribute__ ((unused))) -{ -} - -STATIC void -GOMP_OFFLOAD_fini_device (int n __attribute__ ((unused))) -{ -} - -STATIC int -GOMP_OFFLOAD_load_image (int n __attribute__ ((unused)), - const void *t __attribute__ ((unused)), - struct addr_pair **r __attribute__ ((unused))) -{ - return 0; -} - -STATIC void -GOMP_OFFLOAD_unload_image (int n __attribute__ ((unused)), - const void *t __attribute__ ((unused))) -{ -} - -STATIC void * -GOMP_OFFLOAD_alloc (int n __attribute__ ((unused)), size_t s) -{ - return GOMP (malloc) (s); -} - -STATIC void -GOMP_OFFLOAD_free (int n __attribute__ ((unused)), void *p) -{ - free (p); -} - -STATIC void * -GOMP_OFFLOAD_host2dev (int n __attribute__ ((unused)), void *d, const void *h, - size_t s) -{ -#ifdef HOST_NONSHM_PLUGIN - memcpy (d, h, s); -#endif - - return 0; -} - -STATIC void * -GOMP_OFFLOAD_dev2host (int n __attribute__ ((unused)), void *h, const void *d, - size_t s) -{ -#ifdef HOST_NONSHM_PLUGIN - memcpy (h, d, s); -#endif - - return 0; -} - -STATIC void -GOMP_OFFLOAD_run (int n __attribute__ ((unused)), void *fn_ptr, void *vars) -{ - void (*fn)(void *) = (void (*)(void *)) fn_ptr; - - fn (vars); -} - -STATIC void -GOMP_OFFLOAD_openacc_parallel (void (*fn) (void *), - size_t mapnum __attribute__ ((unused)), - void **hostaddrs __attribute__ ((unused)), - void **devaddrs __attribute__ ((unused)), - size_t *sizes __attribute__ ((unused)), - unsigned short *kinds __attribute__ ((unused)), - int num_gangs __attribute__ ((unused)), - int num_workers __attribute__ ((unused)), - int vector_length __attribute__ ((unused)), - int async __attribute__ ((unused)), - void *targ_mem_desc __attribute__ ((unused))) -{ -#ifdef HOST_NONSHM_PLUGIN - struct nonshm_thread *thd = GOMP_PLUGIN_acc_thread (); - thd->nonshm_exec = true; - fn (devaddrs); - thd->nonshm_exec = false; -#else - fn (hostaddrs); -#endif -} - -STATIC void -GOMP_OFFLOAD_openacc_register_async_cleanup (void *targ_mem_desc) -{ -#ifdef HOST_NONSHM_PLUGIN - /* "Asynchronous" launches are executed synchronously on the (non-SHM) host, - so there's no point in delaying host-side cleanup -- just do it now. */ - GOMP_PLUGIN_async_unmap_vars (targ_mem_desc); -#endif -} - -STATIC void -GOMP_OFFLOAD_openacc_async_set_async (int async __attribute__ ((unused))) -{ -} - -STATIC int -GOMP_OFFLOAD_openacc_async_test (int async __attribute__ ((unused))) -{ - return 1; -} - -STATIC int -GOMP_OFFLOAD_openacc_async_test_all (void) -{ - return 1; -} - -STATIC void -GOMP_OFFLOAD_openacc_async_wait (int async __attribute__ ((unused))) -{ -} - -STATIC void -GOMP_OFFLOAD_openacc_async_wait_all (void) -{ -} - -STATIC void -GOMP_OFFLOAD_openacc_async_wait_async (int async1 __attribute__ ((unused)), - int async2 __attribute__ ((unused))) -{ -} - -STATIC void -GOMP_OFFLOAD_openacc_async_wait_all_async (int async __attribute__ ((unused))) -{ -} - -STATIC void * -GOMP_OFFLOAD_openacc_create_thread_data (int ord - __attribute__ ((unused))) -{ -#ifdef HOST_NONSHM_PLUGIN - struct nonshm_thread *thd - = GOMP_PLUGIN_malloc (sizeof (struct nonshm_thread)); - thd->nonshm_exec = false; - return thd; -#else - return NULL; -#endif -} - -STATIC void -GOMP_OFFLOAD_openacc_destroy_thread_data (void *tls_data) -{ -#ifdef HOST_NONSHM_PLUGIN - free (tls_data); -#endif -} diff --git a/libgomp/plugin/plugin-host.h b/libgomp/plugin/plugin-host.h deleted file mode 100644 index 96955d1..0000000 --- a/libgomp/plugin/plugin-host.h +++ /dev/null @@ -1,37 +0,0 @@ -/* OpenACC Runtime Library: acc_device_host, acc_device_host_nonshm. - - Copyright (C) 2015 Free Software Foundation, Inc. - - Contributed by Mentor Embedded. - - This file is part of the GNU Offloading and Multi Processing Library - (libgomp). - - Libgomp is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. - - Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - FOR A PARTICULAR PURPOSE. See the GNU General Public License for - more details. - - Under Section 7 of GPL version 3, you are granted additional - permissions described in the GCC Runtime Library Exception, version - 3.1, as published by the Free Software Foundation. - - You should have received a copy of the GNU General Public License and - a copy of the GCC Runtime Library Exception along with this program; - see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - . */ - -#ifndef PLUGIN_HOST_H -#define PLUGIN_HOST_H - -struct nonshm_thread -{ - bool nonshm_exec; -}; - -#endif diff --git a/libgomp/testsuite/lib/libgomp.exp b/libgomp/testsuite/lib/libgomp.exp index 438777f..f04b163 100644 --- a/libgomp/testsuite/lib/libgomp.exp +++ b/libgomp/testsuite/lib/libgomp.exp @@ -355,13 +355,3 @@ proc check_effective_target_openacc_host_selected { } { } return 0; } - -# Return 1 if the host_nonshm target is selected for offloaded - -proc check_effective_target_openacc_host_nonshm_selected { } { - global offload_target_openacc - if { $offload_target_openacc == "host_nonshm" } { - return 1; - } - return 0; -} diff --git a/libgomp/testsuite/libgomp.oacc-c++/c++.exp b/libgomp/testsuite/libgomp.oacc-c++/c++.exp index 3b97024..88b0269 100644 --- a/libgomp/testsuite/libgomp.oacc-c++/c++.exp +++ b/libgomp/testsuite/libgomp.oacc-c++/c++.exp @@ -81,9 +81,6 @@ if { $lang_test_file_found } { host { set acc_mem_shared 1 } - host_nonshm { - set acc_mem_shared 0 - } nvidia { if { ![check_effective_target_openacc_nvidia_accel_present] } { # Don't bother; execution testing is going to FAIL. diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c index 81ea476..8112745 100644 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c @@ -15,8 +15,6 @@ main (int argc, char *argv[]) abort (); if (!acc_on_device (acc_device_host)) abort (); - if (acc_on_device (acc_device_host_nonshm)) - abort (); if (acc_on_device (acc_device_not_host)) abort (); if (acc_on_device (acc_device_nvidia)) @@ -32,8 +30,6 @@ main (int argc, char *argv[]) abort (); if (!acc_on_device (acc_device_host)) abort (); - if (acc_on_device (acc_device_host_nonshm)) - abort (); if (acc_on_device (acc_device_not_host)) abort (); if (acc_on_device (acc_device_nvidia)) @@ -51,13 +47,6 @@ main (int argc, char *argv[]) abort (); if (acc_on_device (acc_device_host)) abort (); -#if ACC_DEVICE_TYPE_host_nonshm - if (!acc_on_device (acc_device_host_nonshm)) - abort (); -#else - if (acc_on_device (acc_device_host_nonshm)) - abort (); -#endif if (!acc_on_device (acc_device_not_host)) abort (); #if ACC_DEVICE_TYPE_nvidia diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/if-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/if-1.c index 184b355..6aa3bb7 100644 --- a/libgomp/testsuite/libgomp.oacc-c-c++-common/if-1.c +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/if-1.c @@ -1,5 +1,4 @@ /* { dg-do run } */ -/* { dg-additional-options "-fno-builtin-acc_on_device" } */ #include #include diff --git a/libgomp/testsuite/libgomp.oacc-c/c.exp b/libgomp/testsuite/libgomp.oacc-c/c.exp index 326b988..5020e6a 100644 --- a/libgomp/testsuite/libgomp.oacc-c/c.exp +++ b/libgomp/testsuite/libgomp.oacc-c/c.exp @@ -44,9 +44,6 @@ foreach offload_target_openacc $offload_targets_s_openacc { host { set acc_mem_shared 1 } - host_nonshm { - set acc_mem_shared 0 - } nvidia { if { ![check_effective_target_openacc_nvidia_accel_present] } { # Don't bother; execution testing is going to FAIL. diff --git a/libgomp/testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90 b/libgomp/testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90 index 4488818..1a10f32 100644 --- a/libgomp/testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90 +++ b/libgomp/testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90 @@ -11,7 +11,6 @@ implicit none if (.not. acc_on_device (acc_device_none)) call abort if (.not. acc_on_device (acc_device_host)) call abort -if (acc_on_device (acc_device_host_nonshm)) call abort if (acc_on_device (acc_device_not_host)) call abort if (acc_on_device (acc_device_nvidia)) call abort @@ -21,7 +20,6 @@ if (acc_on_device (acc_device_nvidia)) call abort !$acc parallel if(.false.) if (.not. acc_on_device (acc_device_none)) call abort if (.not. acc_on_device (acc_device_host)) call abort -if (acc_on_device (acc_device_host_nonshm)) call abort if (acc_on_device (acc_device_not_host)) call abort if (acc_on_device (acc_device_nvidia)) call abort !$acc end parallel @@ -34,11 +32,6 @@ if (acc_on_device (acc_device_nvidia)) call abort !$acc parallel if (acc_on_device (acc_device_none)) call abort if (acc_on_device (acc_device_host)) call abort -#if ACC_DEVICE_TYPE_host_nonshm -if (.not. acc_on_device (acc_device_host_nonshm)) call abort -#else -if (acc_on_device (acc_device_host_nonshm)) call abort -#endif if (.not. acc_on_device (acc_device_not_host)) call abort #if ACC_DEVICE_TYPE_nvidia if (.not. acc_on_device (acc_device_nvidia)) call abort diff --git a/libgomp/testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f b/libgomp/testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f index 0047a19..a19045b 100644 --- a/libgomp/testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f +++ b/libgomp/testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f @@ -11,7 +11,6 @@ IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_NONE)) CALL ABORT IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_HOST)) CALL ABORT - IF (ACC_ON_DEVICE (ACC_DEVICE_HOST_NONSHM)) CALL ABORT IF (ACC_ON_DEVICE (ACC_DEVICE_NOT_HOST)) CALL ABORT IF (ACC_ON_DEVICE (ACC_DEVICE_NVIDIA)) CALL ABORT @@ -21,7 +20,6 @@ !$ACC PARALLEL IF(.FALSE.) IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_NONE)) CALL ABORT IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_HOST)) CALL ABORT - IF (ACC_ON_DEVICE (ACC_DEVICE_HOST_NONSHM)) CALL ABORT IF (ACC_ON_DEVICE (ACC_DEVICE_NOT_HOST)) CALL ABORT IF (ACC_ON_DEVICE (ACC_DEVICE_NVIDIA)) CALL ABORT !$ACC END PARALLEL @@ -34,11 +32,6 @@ !$ACC PARALLEL IF (ACC_ON_DEVICE (ACC_DEVICE_NONE)) CALL ABORT IF (ACC_ON_DEVICE (ACC_DEVICE_HOST)) CALL ABORT -#if ACC_DEVICE_TYPE_host_nonshm - IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_HOST_NONSHM)) CALL ABORT -#else - IF (ACC_ON_DEVICE (ACC_DEVICE_HOST_NONSHM)) CALL ABORT -#endif IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_NOT_HOST)) CALL ABORT #if ACC_DEVICE_TYPE_nvidia IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_NVIDIA)) CALL ABORT diff --git a/libgomp/testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f b/libgomp/testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f index 49d7a72..c391776 100644 --- a/libgomp/testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f +++ b/libgomp/testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f @@ -11,7 +11,6 @@ IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_NONE)) CALL ABORT IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_HOST)) CALL ABORT - IF (ACC_ON_DEVICE (ACC_DEVICE_HOST_NONSHM)) CALL ABORT IF (ACC_ON_DEVICE (ACC_DEVICE_NOT_HOST)) CALL ABORT IF (ACC_ON_DEVICE (ACC_DEVICE_NVIDIA)) CALL ABORT @@ -21,7 +20,6 @@ !$ACC PARALLEL IF(.FALSE.) IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_NONE)) CALL ABORT IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_HOST)) CALL ABORT - IF (ACC_ON_DEVICE (ACC_DEVICE_HOST_NONSHM)) CALL ABORT IF (ACC_ON_DEVICE (ACC_DEVICE_NOT_HOST)) CALL ABORT IF (ACC_ON_DEVICE (ACC_DEVICE_NVIDIA)) CALL ABORT !$ACC END PARALLEL @@ -34,11 +32,6 @@ !$ACC PARALLEL IF (ACC_ON_DEVICE (ACC_DEVICE_NONE)) CALL ABORT IF (ACC_ON_DEVICE (ACC_DEVICE_HOST)) CALL ABORT -#if ACC_DEVICE_TYPE_host_nonshm - IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_HOST_NONSHM)) CALL ABORT -#else - IF (ACC_ON_DEVICE (ACC_DEVICE_HOST_NONSHM)) CALL ABORT -#endif IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_NOT_HOST)) CALL ABORT #if ACC_DEVICE_TYPE_nvidia IF (.NOT. ACC_ON_DEVICE (ACC_DEVICE_NVIDIA)) CALL ABORT diff --git a/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp b/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp index a8aaff0..2d6b647 100644 --- a/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp +++ b/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp @@ -73,9 +73,6 @@ if { $lang_test_file_found } { host { set acc_mem_shared 1 } - host_nonshm { - set acc_mem_shared 0 - } nvidia { if { ![check_effective_target_openacc_nvidia_accel_present] } { # Don't bother; execution testing is going to FAIL. -- 2.7.4