[nvptx] Update insufficient launch message for variable vector_length

Update message in nvptx libgomp plugin about insufficient resources to launch
kernel, to accommodate for the fact the vector_length can now be variable.

2019-01-12  Tom de Vries  <tdevries@suse.de>

	* plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
	resources diagnostic.

From-SVN: r267890
This commit is contained in:
Tom de Vries 2019-01-12 22:18:00 +00:00 committed by Tom de Vries
parent 2b9d9e3937
commit 52d22ece49
2 changed files with 15 additions and 8 deletions

View File

@ -1,3 +1,8 @@
2019-01-12 Tom de Vries <tdevries@suse.de>
* plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
resources diagnostic.
2019-01-12 Tom de Vries <tdevries@suse.de>
* testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect

View File

@ -1297,14 +1297,16 @@ nvptx_exec (void (*fn), size_t mapnum, void **hostaddrs, void **devaddrs,
if (dims[GOMP_DIM_WORKER] * dims[GOMP_DIM_VECTOR]
> targ_fn->max_threads_per_block)
{
int suggest_workers
= targ_fn->max_threads_per_block / dims[GOMP_DIM_VECTOR];
GOMP_PLUGIN_fatal ("The Nvidia accelerator has insufficient resources to"
" launch '%s' with num_workers = %d; recompile the"
" program with 'num_workers = %d' on that offloaded"
" region or '-fopenacc-dim=:%d'",
targ_fn->launch->fn, dims[GOMP_DIM_WORKER],
suggest_workers, suggest_workers);
const char *msg
= ("The Nvidia accelerator has insufficient resources to launch '%s'"
" with num_workers = %d and vector_length = %d"
"; "
"recompile the program with 'num_workers = x and vector_length = y'"
" on that offloaded region or '-fopenacc-dim=:x:y' where"
" x * y <= %d"
".\n");
GOMP_PLUGIN_fatal (msg, targ_fn->launch->fn, dims[GOMP_DIM_WORKER],
dims[GOMP_DIM_VECTOR], targ_fn->max_threads_per_block);
}
/* Check if the accelerator has sufficient barrier resources to