libgomp: Enforce 1-thread limit in subteams

Accelerators with fixed thread-counts will break if nested teams are expected
to have multiple threads each.

libgomp/ChangeLog:

2020-09-29  Andrew Stubbs  <ams@codesourcery.com>

	* parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
	and amdgcn targets.
This commit is contained in:
Andrew Stubbs 2020-09-29 10:15:04 +01:00
parent ecd700c1bc
commit 091ddcc1b2

View File

@ -48,7 +48,14 @@ gomp_resolve_num_threads (unsigned specified, unsigned count)
if (specified == 1)
return 1;
else if (thr->ts.active_level >= 1 && !icv->nest_var)
if (thr->ts.active_level >= 1
/* Accelerators with fixed thread counts require this to return 1 for
nested parallel regions. */
#if !defined(__AMDGCN__) && !defined(__nvptx__)
&& !icv->nest_var
#endif
)
return 1;
else if (thr->ts.active_level >= gomp_max_active_levels_var)
return 1;