https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109875

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Tested it now also with true offloading.

For AMD GCN, I get:
  host: max_teams: 2
  tgt: max_teams: 3
  num_teams: 120

For nvptx, I get:
  host: max_teams: 2
  tgt: max_teams: 3
  num_teams: 240

And for completeness, for host fallback:
  host: max_teams: 3
  tgt: max_teams: 3
  num_teams: 1

i.e. the ICV is handled correctly. However, the ICV is not honored for the
target region.

By contrast, an explicit 'num_teams(4)' is honored by GCN/nvptx/host fallback
...

 * * *

The spec wording is:
"If the *num_teams* clause is not specified on a construct then the effect is
as if _upper-bound_ was specified as follows. If the value of the nteams-var
ICV is greater than zero, the effect is as if upper-bound was specified to an
implementation-defined value greater than zero but less than or equal to the
value of the nteams-var ICV."

Reply via email to