From: Alexander Monakov Date: Mon, 11 Jan 2016 12:55:31 +0000 (+0300) Subject: nvptx plugin: do not force JIT target SM version X-Git-Tag: basepoints/gcc-7~1730 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0d58938ed798882063737dedfe897a9b484295ad;p=thirdparty%2Fgcc.git 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 --- diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index dbe181549c30..e2117259a118 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,7 @@ +2016-01-11 Alexander Monakov + + * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET. + 2016-01-07 H.J. Lu PR fortran/66680 diff --git a/libgomp/plugin/plugin-nvptx.c b/libgomp/plugin/plugin-nvptx.c index 061842580676..7ec1810a0468 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));