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 }