Skip to content

reqd_work_group_size and max_work_group_size argument checking #3361

Closed
@smanna12

Description

@smanna12

// Checks correctness of mutual usage of different work_group_size attributes:
reqd_work_group_size, max_work_group_size and max_global_work_dim.

  1. Values of reqd_work_group_size arguments shall be equal or less than values coming from max_work_group_size.
  2. In case the value of 'max_global_work_dim' attribute equals to 0 we shall ensure that if max_work_group_size and
    reqd_work_group_size attributes exist, they hold equal values (1, 1, 1).
  3. Values of reqd_work_group_size arguments shall be equal or greater than values coming from reqd_work_group_size.

The order of the arguments to reqd_work_group_size in SYCL and OpenCL are reversed. In the OpenCL syntax, reqd_work_group_size(X,Y,Z), X is the index that increments the fastest, followed by Y, then Z. If we preserve that definition of X, Y, and Z, then in SYCL the attribute is specified as reqd_work_group_size(Z,Y,X).

This is same for max_work_group_size attribute also.

Question:

  1. don't we have to care about the difference between the OpenCL spellings and the SYCL spelling when deciding whether to
    look at X or Z?

I didn't see any documentation whether we should consider all arguments: X, Y, Z of reqd_work_group_size and max_work_group_size attributes here to check correctness of mutual usage of different work_group_size attributes.
So it's not clear what the diagnostic behavior should be.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions