aboutsummaryrefslogtreecommitdiff
path: root/libgomp
diff options
context:
space:
mode:
authorAlexander Monakov <amonakov@ispras.ru>2016-01-11 15:55:31 +0300
committerAlexander Monakov <amonakov@gcc.gnu.org>2016-01-11 15:55:31 +0300
commit0d58938ed798882063737dedfe897a9b484295ad (patch)
tree9e5efed6bfd5c03b33fb3b973ab51fdeae168032 /libgomp
parentb34b1c343600f7587213dafee5e305a8e4000132 (diff)
downloadgcc-0d58938ed798882063737dedfe897a9b484295ad.zip
gcc-0d58938ed798882063737dedfe897a9b484295ad.tar.gz
gcc-0d58938ed798882063737dedfe897a9b484295ad.tar.bz2
nvptx plugin: do not force JIT target SM version
When link_ptx runs, a CUDA device is already bound to current thread, so the driver library knows the target architecture. There isn't any benefit from forcing a specific target here; on the contrary, hardcoding sm_30 breaks offloading on later (Maxwell, sm_5x) devices. * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET. From-SVN: r232227
Diffstat (limited to 'libgomp')
-rw-r--r--libgomp/ChangeLog4
-rw-r--r--libgomp/plugin/plugin-nvptx.c9
2 files changed, 7 insertions, 6 deletions
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index dbe1815..e211725 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,7 @@
+2016-01-11 Alexander Monakov <amonakov@ispras.ru>
+
+ * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
+
2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
PR fortran/66680
diff --git a/libgomp/plugin/plugin-nvptx.c b/libgomp/plugin/plugin-nvptx.c
index 0618425..7ec1810 100644
--- a/libgomp/plugin/plugin-nvptx.c
+++ b/libgomp/plugin/plugin-nvptx.c
@@ -712,8 +712,8 @@ static void
link_ptx (CUmodule *module, const struct targ_ptx_obj *ptx_objs,
unsigned num_objs)
{
- CUjit_option opts[7];
- void *optvals[7];
+ CUjit_option opts[6];
+ void *optvals[6];
float elapsed = 0.0;
#define LOGSIZE 8192
char elog[LOGSIZE];
@@ -742,10 +742,7 @@ link_ptx (CUmodule *module, const struct targ_ptx_obj *ptx_objs,
opts[5] = CU_JIT_LOG_VERBOSE;
optvals[5] = (void *) 1;
- opts[6] = CU_JIT_TARGET;
- optvals[6] = (void *) CU_TARGET_COMPUTE_30;
-
- r = cuLinkCreate (7, opts, optvals, &linkstate);
+ r = cuLinkCreate (6, opts, optvals, &linkstate);
if (r != CUDA_SUCCESS)
GOMP_PLUGIN_fatal ("cuLinkCreate error: %s", cuda_error (r));