diff options
author | Alexander Monakov <amonakov@ispras.ru> | 2016-01-11 15:55:31 +0300 |
---|---|---|
committer | Alexander Monakov <amonakov@gcc.gnu.org> | 2016-01-11 15:55:31 +0300 |
commit | 0d58938ed798882063737dedfe897a9b484295ad (patch) | |
tree | 9e5efed6bfd5c03b33fb3b973ab51fdeae168032 /libgomp | |
parent | b34b1c343600f7587213dafee5e305a8e4000132 (diff) | |
download | gcc-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/ChangeLog | 4 | ||||
-rw-r--r-- | libgomp/plugin/plugin-nvptx.c | 9 |
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)); |