aboutsummaryrefslogtreecommitdiff
path: root/libgomp
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2015-07-08 16:59:59 +0200
committerThomas Schwinge <tschwinge@gcc.gnu.org>2015-07-08 16:59:59 +0200
commita92defdab79a1268f4b9dcf42b937e4002a4cf15 (patch)
tree49238907f42004f77228eb1e7c9ae4aa57f88eed /libgomp
parent18b80efb60bc598f1027d36c5d65539815e3bbad (diff)
downloadgcc-a92defdab79a1268f4b9dcf42b937e4002a4cf15.zip
gcc-a92defdab79a1268f4b9dcf42b937e4002a4cf15.tar.gz
gcc-a92defdab79a1268f4b9dcf42b937e4002a4cf15.tar.bz2
[nvptx offloading] Only 64-bit configurations are currently supported
PR libgomp/65099 gcc/ * config/nvptx/mkoffload.c (main): Create an offload image only in 64-bit configurations. libgomp/ * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not in a 64-bit configuration. * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia offloading testing if no such device is available. * testsuite/libgomp.oacc-c/c.exp: Likewise. * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise. From-SVN: r225560
Diffstat (limited to 'libgomp')
-rw-r--r--libgomp/ChangeLog10
-rw-r--r--libgomp/plugin/plugin-nvptx.c5
-rw-r--r--libgomp/testsuite/libgomp.oacc-c++/c++.exp6
-rw-r--r--libgomp/testsuite/libgomp.oacc-c/c.exp6
-rw-r--r--libgomp/testsuite/libgomp.oacc-fortran/fortran.exp6
5 files changed, 33 insertions, 0 deletions
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 8839397..34f3a1c 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,13 @@
+2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
+
+ PR libgomp/65099
+ * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
+ in a 64-bit configuration.
+ * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
+ offloading testing if no such device is available.
+ * testsuite/libgomp.oacc-c/c.exp: Likewise.
+ * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
+
2015-07-08 Tom de Vries <tom@codesourcery.com>
* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
diff --git a/libgomp/plugin/plugin-nvptx.c b/libgomp/plugin/plugin-nvptx.c
index ee3a0ae..b67d301 100644
--- a/libgomp/plugin/plugin-nvptx.c
+++ b/libgomp/plugin/plugin-nvptx.c
@@ -777,6 +777,11 @@ nvptx_get_num_devices (void)
int n;
CUresult r;
+ /* PR libgomp/65099: Currently, we only support offloading in 64-bit
+ configurations. */
+ if (sizeof (void *) != 8)
+ return 0;
+
/* This function will be called before the plugin has been initialized in
order to enumerate available devices, but CUDA API routines can't be used
until cuInit has been called. Just call it now (but don't yet do any
diff --git a/libgomp/testsuite/libgomp.oacc-c++/c++.exp b/libgomp/testsuite/libgomp.oacc-c++/c++.exp
index 80d1359..3b97024 100644
--- a/libgomp/testsuite/libgomp.oacc-c++/c++.exp
+++ b/libgomp/testsuite/libgomp.oacc-c++/c++.exp
@@ -85,6 +85,12 @@ if { $lang_test_file_found } {
set acc_mem_shared 0
}
nvidia {
+ if { ![check_effective_target_openacc_nvidia_accel_present] } {
+ # Don't bother; execution testing is going to FAIL.
+ untested "$subdir $offload_target_openacc offloading"
+ continue
+ }
+
# Copy ptx file (TEMPORARY)
remote_download host $srcdir/libgomp.oacc-c-c++-common/subr.ptx
diff --git a/libgomp/testsuite/libgomp.oacc-c/c.exp b/libgomp/testsuite/libgomp.oacc-c/c.exp
index c0c70bb..326b988 100644
--- a/libgomp/testsuite/libgomp.oacc-c/c.exp
+++ b/libgomp/testsuite/libgomp.oacc-c/c.exp
@@ -48,6 +48,12 @@ foreach offload_target_openacc $offload_targets_s_openacc {
set acc_mem_shared 0
}
nvidia {
+ if { ![check_effective_target_openacc_nvidia_accel_present] } {
+ # Don't bother; execution testing is going to FAIL.
+ untested "$subdir $offload_target_openacc offloading"
+ continue
+ }
+
# Copy ptx file (TEMPORARY)
remote_download host $srcdir/libgomp.oacc-c-c++-common/subr.ptx
diff --git a/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp b/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp
index a8f62e8..a8aaff0 100644
--- a/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp
+++ b/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp
@@ -77,6 +77,12 @@ if { $lang_test_file_found } {
set acc_mem_shared 0
}
nvidia {
+ if { ![check_effective_target_openacc_nvidia_accel_present] } {
+ # Don't bother; execution testing is going to FAIL.
+ untested "$subdir $offload_target_openacc offloading"
+ continue
+ }
+
set acc_mem_shared 0
}
default {