Intel® DPC++ Compatibility Tool Developer Guide and Reference
                    
                        ID
                        768918
                    
                
                
                    Date
                    3/22/2024
                
                
                    Public
                
            A newer version of this document is available. Customers should click here to go to the newest version.
                                                
                                                
                                                    
                                                    
                                                        DPCT1000
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1001
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1002
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1003
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1004
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1005
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1006
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1007
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1008
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1009
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1010
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1011
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1012
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1013
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1014
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1015
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1016
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1017
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1018
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1019
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1020
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1021
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1022
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1023
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1024
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1025
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1026
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1027
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1028
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1029
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1030
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1031
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1032
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1033
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1034
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1035
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1036
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1037
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1038
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1039
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1040
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1041
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1042
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1043
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1044
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1045
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1046
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1047
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1048
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1049
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1050
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1051
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1052
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1053
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1054
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1055
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1056
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1057
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1058
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1059
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1060
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1061
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1062
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1063
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1064
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1065
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1066
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1067
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1068
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1069
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1070
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1071
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1072
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1073
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1074
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1075
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1076
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1077
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1078
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1079
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1080
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1081
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1082
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1083
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1084
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1085
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1086
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1087
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1088
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1089
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1090
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1091
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1092
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1093
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1094
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1095
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1096
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1097
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1098
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1099
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1100
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1101
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1102
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1103
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1104
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1105
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1106
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1107
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1108
                                                    
                                                    
                                                        
                                                            Message
                                                        
                                                            Detailed Help
                                                        
                                                            Suggestions to Fix
                                                        
                                                    
                                                
                                                    
                                                    
                                                        DPCT1109
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1110
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1111
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1112
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1113
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1114
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1115
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1116
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1117
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1118
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1119
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1120
                                                    
                                                    
                                                
                                                    
                                                    
                                                        DPCT1121
                                                    
                                                    
                                                
                                            
                                        DPCT1108
Message
<original API> was migrated with the experimental feature <feature name> which may not be supported by all compilers or runtimes. You may need to adjust the code.
Detailed Help
To support better migration, Intel® DPC++ Compatibility Tool provides the -use-experimental-features option to apply experimental features during migration. <feature name> may not be supported by all SYCL compilers or runtimes. If the target SYCL compiler and runtime does not support <feature name>, you need to adjust the code and not use <feature name>.
Suggestions to Fix
For example, this original CUDA* code:
__global__ void kernel() {
  int lane_id = threadIdx.x % 32;
  int foo = 0, result = 0;
  int mask = 0xf;
  if (lane_id == 0) {
    result = 10;
  }
  if (lane_id & mask) {
    foo = __shfl_sync(mask, result, 0);
  }
}results in the following migrated SYCL code:
void kernel(const sycl::nd_item<3> &item_ct1) {
  int lane_id = item_ct1.get_local_id(2) % 32;
  int foo = 0, result = 0;
  int mask = 0xf;
  if (lane_id == 0) {
    result = 10;
  }
  if (lane_id & mask) {
    /*
    DPCT1108:0: '__shfl_sync' was migrated with the experimental feature masked
    sub_group function which may not be supported by all compilers or runtimes.
    You may need to adjust the code.
    */
    foo = dpct::experimental::select_from_sub_group(
        mask, item_ct1.get_sub_group(), result, 0);
  }
}which is rewritten to:
void kernel(const sycl::nd_item<3> &item_ct1) {
  int lane_id = item_ct1.get_local_id(2) % 32;
  int foo = 0, result = 0;
  int mask = 0xf;
  if (lane_id == 0) {
    result = 10;
  }
  // If not use experimental feature masked sub-group function
  int foo_tmp = dpct::select_from_sub_group(item_ct1.get_sub_group(), result, 0);
  if (lane_id & mask) {
    foo = foo_tmp;
  }
}