aboutsummaryrefslogtreecommitdiff
path: root/libgomp
diff options
context:
space:
mode:
authortschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>2019-02-22 10:51:05 +0000
committertschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>2019-02-22 10:51:05 +0000
commit3a590203770f56ae3ced3d81c59483caeda037cd (patch)
tree58f40a753ad2430cc8982321e637e153ed80f5f0 /libgomp
parente03c3144d02850737551a071b6525f13efcde7c0 (diff)
[libgomp] Clarify difference between offload target, offload plugin, and OpenACC device type
libgomp/ * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS instead of OFFLOAD_TARGETS. * target.c (gomp_target_init): Adjust. * testsuite/libgomp-test-support.exp.in: Likewise. * testsuite/lib/libgomp.exp: Likewise. Populate openacc_device_types_s instead of offload_targets_s_openacc. (check_effective_target_openacc_nvidia_accel_selected) (check_effective_target_openacc_host_selected): Adjust. * testsuite/libgomp.oacc-c++/c++.exp: Likewise. * testsuite/libgomp.oacc-c/c.exp: Likewise. * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. * Makefile.in: Regenerate. * config.h.in: Likewise. * configure: Likewise. * testsuite/Makefile.in: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269107 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgomp')
-rw-r--r--libgomp/ChangeLog17
-rw-r--r--libgomp/Makefile.in2
-rw-r--r--libgomp/config.h.in4
-rwxr-xr-xlibgomp/configure36
-rw-r--r--libgomp/plugin/configfrag.ac36
-rw-r--r--libgomp/target.c8
-rw-r--r--libgomp/testsuite/Makefile.in2
-rw-r--r--libgomp/testsuite/lib/libgomp.exp56
-rw-r--r--libgomp/testsuite/libgomp-test-support.exp.in2
-rw-r--r--libgomp/testsuite/libgomp.oacc-c++/c++.exp17
-rw-r--r--libgomp/testsuite/libgomp.oacc-c/c.exp17
-rw-r--r--libgomp/testsuite/libgomp.oacc-fortran/fortran.exp15
12 files changed, 114 insertions, 98 deletions
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 32bc21f50fd..344e83f082f 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,5 +1,22 @@
2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
+ * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
+ instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
+ instead of OFFLOAD_TARGETS.
+ * target.c (gomp_target_init): Adjust.
+ * testsuite/libgomp-test-support.exp.in: Likewise.
+ * testsuite/lib/libgomp.exp: Likewise. Populate
+ openacc_device_types_s instead of offload_targets_s_openacc.
+ (check_effective_target_openacc_nvidia_accel_selected)
+ (check_effective_target_openacc_host_selected): Adjust.
+ * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
+ * testsuite/libgomp.oacc-c/c.exp: Likewise.
+ * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
+ * Makefile.in: Regenerate.
+ * config.h.in: Likewise.
+ * configure: Likewise.
+ * testsuite/Makefile.in: Likewise.
+
* testsuite/lib/libgomp.exp: Error out for unknown offload target.
* testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
"offloading: supported, but hardware not accessible".
diff --git a/libgomp/Makefile.in b/libgomp/Makefile.in
index 325629cb0aa..12ce8d05c19 100644
--- a/libgomp/Makefile.in
+++ b/libgomp/Makefile.in
@@ -493,7 +493,7 @@ mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
offload_additional_lib_paths = @offload_additional_lib_paths@
offload_additional_options = @offload_additional_options@
-offload_targets = @offload_targets@
+offload_plugins = @offload_plugins@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
diff --git a/libgomp/config.h.in b/libgomp/config.h.in
index 52f4ed44412..73f1b12805e 100644
--- a/libgomp/config.h.in
+++ b/libgomp/config.h.in
@@ -146,8 +146,8 @@
*/
#undef LT_OBJDIR
-/* Define to offload targets, separated by commas. */
-#undef OFFLOAD_TARGETS
+/* Define to offload plugins, separated by commas. */
+#undef OFFLOAD_PLUGINS
/* Name of package */
#undef PACKAGE
diff --git a/libgomp/configure b/libgomp/configure
index 013e37c0ba5..1033ae4d988 100755
--- a/libgomp/configure
+++ b/libgomp/configure
@@ -667,6 +667,7 @@ PLUGIN_NVPTX_FALSE
PLUGIN_NVPTX_TRUE
offload_additional_lib_paths
offload_additional_options
+offload_plugins
PLUGIN_HSA_LIBS
PLUGIN_HSA_LDFLAGS
PLUGIN_HSA_CPPFLAGS
@@ -679,7 +680,6 @@ PLUGIN_NVPTX_CPPFLAGS
PLUGIN_NVPTX
CUDA_DRIVER_LIB
CUDA_DRIVER_INCLUDE
-offload_targets
libtool_VERSION
ac_ct_FC
FCFLAGS
@@ -15401,8 +15401,6 @@ fi
# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
# <http://www.gnu.org/licenses/>.
-offload_targets=
-
plugin_support=yes
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlsym in -ldl" >&5
$as_echo_n "checking for dlsym in -ldl... " >&6; }
@@ -15621,7 +15619,10 @@ PLUGIN_HSA_LIBS=
-# Get offload targets and path to install tree of offloading compiler.
+# Parse '--enable-offload-targets', figure out the corresponding libgomp
+# plugins, and configure to find the corresponding offload compilers.
+offload_plugins=
+
offload_additional_options=
offload_additional_lib_paths=
@@ -15630,13 +15631,13 @@ if test x"$enable_offload_targets" != x; then
for tgt in `echo $enable_offload_targets | sed -e 's#,# #g'`; do
tgt_dir=`echo $tgt | grep '=' | sed 's/.*=//'`
tgt=`echo $tgt | sed 's/=.*//'`
- tgt_name=
+ tgt_plugin=
case $tgt in
*-intelmic-* | *-intelmicemul-*)
- tgt_name=intelmic
+ tgt_plugin=intelmic
;;
nvptx*)
- tgt_name=nvptx
+ tgt_plugin=nvptx
PLUGIN_NVPTX=$tgt
if test "x$CUDA_DRIVER_LIB" != xno \
&& test "x$CUDA_DRIVER_LIB" != xno; then
@@ -15695,7 +15696,7 @@ rm -f core conftest.err conftest.$ac_objext \
PLUGIN_HSA=0
;;
*)
- tgt_name=hsa
+ tgt_plugin=hsa
PLUGIN_HSA=$tgt
PLUGIN_HSA_CPPFLAGS=$HSA_RUNTIME_CPPFLAGS
PLUGIN_HSA_LDFLAGS="$HSA_RUNTIME_LDFLAGS"
@@ -15713,7 +15714,7 @@ rm -f core conftest.err conftest.$ac_objext \
LDFLAGS=$PLUGIN_HSA_save_LDFLAGS
LIBS=$PLUGIN_HSA_save_LIBS
case $PLUGIN_HSA in
- hsa*)
+ hsa*)
HSA_PLUGIN=0
as_fn_error $? "HSA run-time package required for HSA support" "$LINENO" 5
;;
@@ -15730,16 +15731,17 @@ rm -f core conftest.err conftest.$ac_objext \
as_fn_error $? "unknown offload target specified" "$LINENO" 5
;;
esac
- if test x"$tgt_name" = x; then
- # Don't configure libgomp for this offloading target if we don't build
- # the corresponding plugin.
+ if test x"$tgt_plugin" = x; then
+ # Not configuring libgomp for this offload target if we're not building
+ # the corresponding offload plugin.
continue
- elif test x"$offload_targets" = x; then
- offload_targets=$tgt_name
+ elif test x"$offload_plugins" = x; then
+ offload_plugins=$tgt_plugin
else
- offload_targets=$offload_targets,$tgt_name
+ offload_plugins=$offload_plugins,$tgt_plugin
fi
- if test "$tgt_name" = hsa; then
+ # Configure additional search paths.
+ if test "$tgt_plugin" = hsa; then
# Offloading compilation is all handled by the target compiler.
:
elif test x"$tgt_dir" != x; then
@@ -15753,7 +15755,7 @@ rm -f core conftest.err conftest.$ac_objext \
fi
cat >>confdefs.h <<_ACEOF
-#define OFFLOAD_TARGETS "$offload_targets"
+#define OFFLOAD_PLUGINS "$offload_plugins"
_ACEOF
if test $PLUGIN_NVPTX = 1; then
diff --git a/libgomp/plugin/configfrag.ac b/libgomp/plugin/configfrag.ac
index 2cd59cd974e..c49d17991e6 100644
--- a/libgomp/plugin/configfrag.ac
+++ b/libgomp/plugin/configfrag.ac
@@ -26,8 +26,6 @@
# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
# <http://www.gnu.org/licenses/>.
-offload_targets=
-AC_SUBST(offload_targets)
plugin_support=yes
AC_CHECK_LIB(dl, dlsym, , [plugin_support=no])
if test x"$plugin_support" = xyes; then
@@ -139,7 +137,10 @@ AC_SUBST(PLUGIN_HSA_CPPFLAGS)
AC_SUBST(PLUGIN_HSA_LDFLAGS)
AC_SUBST(PLUGIN_HSA_LIBS)
-# Get offload targets and path to install tree of offloading compiler.
+# Parse '--enable-offload-targets', figure out the corresponding libgomp
+# plugins, and configure to find the corresponding offload compilers.
+offload_plugins=
+AC_SUBST(offload_plugins)
offload_additional_options=
offload_additional_lib_paths=
AC_SUBST(offload_additional_options)
@@ -148,13 +149,13 @@ if test x"$enable_offload_targets" != x; then
for tgt in `echo $enable_offload_targets | sed -e 's#,# #g'`; do
tgt_dir=`echo $tgt | grep '=' | sed 's/.*=//'`
tgt=`echo $tgt | sed 's/=.*//'`
- tgt_name=
+ tgt_plugin=
case $tgt in
*-intelmic-* | *-intelmicemul-*)
- tgt_name=intelmic
+ tgt_plugin=intelmic
;;
nvptx*)
- tgt_name=nvptx
+ tgt_plugin=nvptx
PLUGIN_NVPTX=$tgt
if test "x$CUDA_DRIVER_LIB" != xno \
&& test "x$CUDA_DRIVER_LIB" != xno; then
@@ -202,7 +203,7 @@ if test x"$enable_offload_targets" != x; then
PLUGIN_HSA=0
;;
*)
- tgt_name=hsa
+ tgt_plugin=hsa
PLUGIN_HSA=$tgt
PLUGIN_HSA_CPPFLAGS=$HSA_RUNTIME_CPPFLAGS
PLUGIN_HSA_LDFLAGS="$HSA_RUNTIME_LDFLAGS"
@@ -220,7 +221,7 @@ if test x"$enable_offload_targets" != x; then
LDFLAGS=$PLUGIN_HSA_save_LDFLAGS
LIBS=$PLUGIN_HSA_save_LIBS
case $PLUGIN_HSA in
- hsa*)
+ hsa*)
HSA_PLUGIN=0
AC_MSG_ERROR([HSA run-time package required for HSA support])
;;
@@ -237,16 +238,17 @@ if test x"$enable_offload_targets" != x; then
AC_MSG_ERROR([unknown offload target specified])
;;
esac
- if test x"$tgt_name" = x; then
- # Don't configure libgomp for this offloading target if we don't build
- # the corresponding plugin.
+ if test x"$tgt_plugin" = x; then
+ # Not configuring libgomp for this offload target if we're not building
+ # the corresponding offload plugin.
continue
- elif test x"$offload_targets" = x; then
- offload_targets=$tgt_name
+ elif test x"$offload_plugins" = x; then
+ offload_plugins=$tgt_plugin
else
- offload_targets=$offload_targets,$tgt_name
+ offload_plugins=$offload_plugins,$tgt_plugin
fi
- if test "$tgt_name" = hsa; then
+ # Configure additional search paths.
+ if test "$tgt_plugin" = hsa; then
# Offloading compilation is all handled by the target compiler.
:
elif test x"$tgt_dir" != x; then
@@ -258,8 +260,8 @@ if test x"$enable_offload_targets" != x; then
fi
done
fi
-AC_DEFINE_UNQUOTED(OFFLOAD_TARGETS, "$offload_targets",
- [Define to offload targets, separated by commas.])
+AC_DEFINE_UNQUOTED(OFFLOAD_PLUGINS, "$offload_plugins",
+ [Define to offload plugins, separated by commas.])
AM_CONDITIONAL([PLUGIN_NVPTX], [test $PLUGIN_NVPTX = 1])
AC_DEFINE_UNQUOTED([PLUGIN_NVPTX], [$PLUGIN_NVPTX],
[Define to 1 if the NVIDIA plugin is built, 0 if not.])
diff --git a/libgomp/target.c b/libgomp/target.c
index 8af5f97c38b..31148003d0a 100644
--- a/libgomp/target.c
+++ b/libgomp/target.c
@@ -2710,9 +2710,9 @@ gomp_target_fini (void)
}
}
-/* This function initializes the runtime needed for offloading.
- It parses the list of offload targets and tries to load the plugins for
- these targets. On return, the variables NUM_DEVICES and NUM_DEVICES_OPENMP
+/* This function initializes the runtime for offloading.
+ It parses the list of offload plugins, and tries to load these.
+ On return, the variables NUM_DEVICES and NUM_DEVICES_OPENMP
will be set, and the array DEVICES initialized, containing descriptors for
corresponding devices, first the GOMP_OFFLOAD_CAP_OPENMP_400 ones, follows
by the others. */
@@ -2729,7 +2729,7 @@ gomp_target_init (void)
num_devices = 0;
devices = NULL;
- cur = OFFLOAD_TARGETS;
+ cur = OFFLOAD_PLUGINS;
if (*cur)
do
{
diff --git a/libgomp/testsuite/Makefile.in b/libgomp/testsuite/Makefile.in
index de91a958bcb..7e0e830b240 100644
--- a/libgomp/testsuite/Makefile.in
+++ b/libgomp/testsuite/Makefile.in
@@ -271,7 +271,7 @@ mkdir_p = @mkdir_p@
multi_basedir = @multi_basedir@
offload_additional_lib_paths = @offload_additional_lib_paths@
offload_additional_options = @offload_additional_options@
-offload_targets = @offload_targets@
+offload_plugins = @offload_plugins@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
diff --git a/libgomp/testsuite/lib/libgomp.exp b/libgomp/testsuite/lib/libgomp.exp
index 2392642c7d6..766e9ddd95b 100644
--- a/libgomp/testsuite/lib/libgomp.exp
+++ b/libgomp/testsuite/lib/libgomp.exp
@@ -41,19 +41,19 @@ load_gcc_lib fortran-modules.exp
# Try to load a test support file, built during libgomp configuration.
load_file libgomp-test-support.exp
-# Populate offload_targets_s (offloading targets separated by a space), and
-# offload_targets_s_openacc (the same, but with OpenACC names; OpenACC spells
-# some of them a little differently).
-set offload_targets_s [split $offload_targets ","]
-set offload_targets_s_openacc {}
-foreach offload_target_openacc $offload_targets_s {
+# Populate offload_plugins_s (offload plugins, separated by a space), and
+# openacc_device_types_s (OpenACC device type names for suitable offload
+# plugins, separated by a space).
+set offload_plugins_s [split $offload_plugins ","]
+set openacc_device_types_s {}
+foreach offload_plugin $offload_plugins_s {
# Translate to OpenACC names, or skip if not yet supported.
- switch $offload_target_openacc {
+ switch $offload_plugin {
intelmic {
continue
}
nvptx {
- set offload_target_openacc "nvidia"
+ set offload_plugin "nvidia"
}
hsa {
continue
@@ -62,9 +62,9 @@ foreach offload_target_openacc $offload_targets_s {
error "Unknown offload target: $offload_target_openacc"
}
}
- lappend offload_targets_s_openacc "$offload_target_openacc"
+ lappend openacc_device_types_s "$offload_plugin"
}
-lappend offload_targets_s_openacc "host"
+lappend openacc_device_types_s "host"
set dg-do-what-default run
@@ -143,9 +143,9 @@ proc libgomp_init { args } {
set always_ld_library_path ".:${blddir}/.libs"
# Add liboffloadmic build directory in LD_LIBRARY_PATH to support
- # non-fallback testing for Intel MIC targets
- global offload_targets
- if { [string match "*,intelmic,*" ",$offload_targets,"] } {
+ # Intel MIC offloading testing.
+ global offload_plugins
+ if { [string match "*,intelmic,*" ",$offload_plugins,"] } {
append always_ld_library_path ":${blddir}/../liboffloadmic/.libs"
append always_ld_library_path ":${blddir}/../liboffloadmic/plugin/.libs"
# libstdc++ is required by liboffloadmic
@@ -249,8 +249,7 @@ proc libgomp_init { args } {
# Disable color diagnostics
lappend ALWAYS_CFLAGS "additional_flags=-fdiagnostics-color=never"
- # Used for support non-fallback offloading.
- # Help GCC to find target mkoffload.
+ # Help GCC to find offload compilers' 'mkoffload'.
global offload_additional_options
if { $offload_additional_options != "" } {
lappend ALWAYS_CFLAGS "additional_flags=${offload_additional_options}"
@@ -366,11 +365,11 @@ proc check_effective_target_offload_device_shared_as { } {
} ]
}
-# Return 1 if configured for nvptx offloading.
+# Return 1 if configured for 'nvptx' offloading.
proc check_effective_target_openacc_nvidia_accel_configured { } {
- global offload_targets
- if { ![string match "*,nvptx,*" ",$offload_targets,"] } {
+ global offload_plugins
+ if { ![string match "*,nvptx,*" ",$offload_plugins,"] } {
return 0
}
# PR libgomp/65099: Currently, we only support offloading in 64-bit
@@ -389,29 +388,22 @@ proc check_effective_target_openacc_nvidia_accel_present { } {
} "" ]
}
-# Return 1 if at least one Nvidia GPU is accessible, and the nvidia device type
-# is selected by default by means of setting the environment variable
-# ACC_DEVICE_TYPE.
+# Return 1 if at least one Nvidia GPU is accessible, and the OpenACC 'nvidia'
+# device type is selected.
proc check_effective_target_openacc_nvidia_accel_selected { } {
if { ![check_effective_target_openacc_nvidia_accel_present] } {
return 0;
}
- global offload_target_openacc
- if { $offload_target_openacc == "nvidia" } {
- return 1;
- }
- return 0;
+ global openacc_device_type
+ return [string match "nvidia" $openacc_device_type]
}
-# Return 1 if the host target is selected for offloaded
+# Return 1 if the OpenACC 'host' device type is selected.
proc check_effective_target_openacc_host_selected { } {
- global offload_target_openacc
- if { $offload_target_openacc == "host" } {
- return 1;
- }
- return 0;
+ global openacc_device_type
+ return [string match "host" $openacc_device_type]
}
# Return 1 if the selected OMP device is actually a HSA device
diff --git a/libgomp/testsuite/libgomp-test-support.exp.in b/libgomp/testsuite/libgomp-test-support.exp.in
index a5250a802c4..6cf31ae4bf9 100644
--- a/libgomp/testsuite/libgomp-test-support.exp.in
+++ b/libgomp/testsuite/libgomp-test-support.exp.in
@@ -2,4 +2,4 @@ set cuda_driver_include "@CUDA_DRIVER_INCLUDE@"
set cuda_driver_lib "@CUDA_DRIVER_LIB@"
set hsa_runtime_lib "@HSA_RUNTIME_LIB@"
-set offload_targets "@offload_targets@"
+set offload_plugins "@offload_plugins@"
diff --git a/libgomp/testsuite/libgomp.oacc-c++/c++.exp b/libgomp/testsuite/libgomp.oacc-c++/c++.exp
index d0e5f42b88b..0854f60c8fa 100644
--- a/libgomp/testsuite/libgomp.oacc-c++/c++.exp
+++ b/libgomp/testsuite/libgomp.oacc-c++/c++.exp
@@ -77,18 +77,19 @@ if { $lang_test_file_found } {
set libstdcxx_includes ""
}
- # Test OpenACC with available accelerators.
- foreach offload_target_openacc $offload_targets_s_openacc {
- set tagopt "-DACC_DEVICE_TYPE_$offload_target_openacc=1"
+ # Test with available OpenACC device types.
+ global openacc_device_type
+ foreach openacc_device_type $openacc_device_types_s {
+ set tagopt "-DACC_DEVICE_TYPE_$openacc_device_type=1"
- switch $offload_target_openacc {
+ switch $openacc_device_type {
host {
set acc_mem_shared 1
}
nvidia {
if { ![check_effective_target_openacc_nvidia_accel_present] } {
# Don't bother; execution testing is going to FAIL.
- untested "$subdir $offload_target_openacc offloading: supported, but hardware not accessible"
+ untested "$subdir $openacc_device_type offloading: supported, but hardware not accessible"
continue
}
@@ -101,12 +102,12 @@ if { $lang_test_file_found } {
set acc_mem_shared 0
}
default {
- error "Unknown OpenACC device type: $offload_target_openacc"
+ error "Unknown OpenACC device type: $openacc_device_type"
}
}
set tagopt "$tagopt -DACC_MEM_SHARED=$acc_mem_shared"
- setenv ACC_DEVICE_TYPE $offload_target_openacc
+ setenv ACC_DEVICE_TYPE $openacc_device_type
# To get better test coverage for device-specific code that is only
# ever used in offloading configurations, we'd like more thorough
@@ -115,7 +116,7 @@ if { $lang_test_file_found } {
# -O0 and -O2 only, to avoid testing times exploding too much, under
# the assumption that between -O0 and -O[something] there is the
# biggest difference in the overall structure of the generated code.
- switch $offload_target_openacc {
+ switch $openacc_device_type {
host {
set-torture-options [list \
{ -O2 } ]
diff --git a/libgomp/testsuite/libgomp.oacc-c/c.exp b/libgomp/testsuite/libgomp.oacc-c/c.exp
index 77e852efaef..2e0c050d6de 100644
--- a/libgomp/testsuite/libgomp.oacc-c/c.exp
+++ b/libgomp/testsuite/libgomp.oacc-c/c.exp
@@ -38,20 +38,21 @@ set ld_library_path $always_ld_library_path
append ld_library_path [gcc-set-multilib-library-path $GCC_UNDER_TEST]
set_ld_library_path_env_vars
-# Test OpenACC with available accelerators.
+# Test with available OpenACC device types.
set SAVE_ALWAYS_CFLAGS "$ALWAYS_CFLAGS"
-foreach offload_target_openacc $offload_targets_s_openacc {
+global openacc_device_type
+foreach openacc_device_type $openacc_device_types_s {
set ALWAYS_CFLAGS "$SAVE_ALWAYS_CFLAGS"
- set tagopt "-DACC_DEVICE_TYPE_$offload_target_openacc=1"
+ set tagopt "-DACC_DEVICE_TYPE_$openacc_device_type=1"
- switch $offload_target_openacc {
+ switch $openacc_device_type {
host {
set acc_mem_shared 1
}
nvidia {
if { ![check_effective_target_openacc_nvidia_accel_present] } {
# Don't bother; execution testing is going to FAIL.
- untested "$subdir $offload_target_openacc offloading: supported, but hardware not accessible"
+ untested "$subdir $openacc_device_type offloading: supported, but hardware not accessible"
continue
}
@@ -64,12 +65,12 @@ foreach offload_target_openacc $offload_targets_s_openacc {
set acc_mem_shared 0
}
default {
- error "Unknown OpenACC device type: $offload_target_openacc"
+ error "Unknown OpenACC device type: $openacc_device_type"
}
}
set tagopt "$tagopt -DACC_MEM_SHARED=$acc_mem_shared"
- setenv ACC_DEVICE_TYPE $offload_target_openacc
+ setenv ACC_DEVICE_TYPE $openacc_device_type
# To get better test coverage for device-specific code that is only
# ever used in offloading configurations, we'd like more thorough
@@ -78,7 +79,7 @@ foreach offload_target_openacc $offload_targets_s_openacc {
# -O0 and -O2 only, to avoid testing times exploding too much, under
# the assumption that between -O0 and -O[something] there is the
# biggest difference in the overall structure of the generated code.
- switch $offload_target_openacc {
+ switch $openacc_device_type {
host {
set-torture-options [list \
{ -O2 } ]
diff --git a/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp b/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp
index a262a8a2c97..83f4f6b47d8 100644
--- a/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp
+++ b/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp
@@ -65,30 +65,31 @@ if { $lang_test_file_found } {
append ld_library_path [gcc-set-multilib-library-path $GCC_UNDER_TEST]
set_ld_library_path_env_vars
- # Test OpenACC with available accelerators.
- foreach offload_target_openacc $offload_targets_s_openacc {
- set tagopt "-DACC_DEVICE_TYPE_$offload_target_openacc=1"
+ # Test with available OpenACC device types.
+ global openacc_device_type
+ foreach openacc_device_type $openacc_device_types_s {
+ set tagopt "-DACC_DEVICE_TYPE_$openacc_device_type=1"
- switch $offload_target_openacc {
+ switch $openacc_device_type {
host {
set acc_mem_shared 1
}
nvidia {
if { ![check_effective_target_openacc_nvidia_accel_present] } {
# Don't bother; execution testing is going to FAIL.
- untested "$subdir $offload_target_openacc offloading: supported, but hardware not accessible"
+ untested "$subdir $openacc_device_type offloading: supported, but hardware not accessible"
continue
}
set acc_mem_shared 0
}
default {
- error "Unknown OpenACC device type: $offload_target_openacc"
+ error "Unknown OpenACC device type: $openacc_device_type"
}
}
set tagopt "$tagopt -DACC_MEM_SHARED=$acc_mem_shared"
- setenv ACC_DEVICE_TYPE $offload_target_openacc
+ setenv ACC_DEVICE_TYPE $openacc_device_type
# For Fortran we're doing torture testing, as Fortran has far more tests
# with arrays etc. that testing just -O0 or -O2 is insufficient, that is