DPCT1023#
Message#
The SYCL sub-group does not support mask options for <API name>. <Suggested fix>.
Detailed Help#
This warning is generated when the SYCL* sub-group function used for migration does not have a mask parameter. This warning can be ignored if the original mask parameter was not used.
Suggestions to Fix#
Verify the code correctness.
For example, this original CUDA* code:
1 __device__ void d(unsigned mask, int val, int srcLane) {
2 __shfl_sync(mask, val, srcLane);
3 }
results in the following migrated SYCL code:
1 void d(unsigned mask, int val, int srcLane,
2 const sycl::nd_item<3> &item_ct1) {
3 /*
4 DPCT1023:0: The SYCL sub-group does not support mask options for
5 dpct::select_from_sub_group. You can specify
6 "--use-experimental-features=masked-sub-group-operation" to use the dpct
7 experimental helper function to migrate __shfl_sync.
8 */
9 dpct::select_from_sub_group(item_ct1.get_sub_group(), val, srcLane);
10 }
which is rewritten to:
1 void d(unsigned mask, int val, int srcLane,
2 const sycl::nd_item<3> &item_ct1) {
3 // If this compiler & runtime support group non-uniform shuffle, then you can
4 // use this API
5 dpct::experimental::select_from_sub_group(mask, item_ct1.get_sub_group(), val,
6 srcLane);
7 }