Description
// Checks correctness of mutual usage of different work_group_size attributes:
reqd_work_group_size, max_work_group_size and max_global_work_dim.
- Values of reqd_work_group_size arguments shall be equal or less than values coming from max_work_group_size.
- 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). - 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:
- 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.