mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-10 09:20:31 +08:00
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
This commit is contained in:
parent
b34b1c3436
commit
0d58938ed7
@ -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
|
||||
|
@ -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));
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user