File tree 1 file changed +13
-4
lines changed
src/plugins/intel_gpu/src/kernel_selector/cl_kernels
1 file changed +13
-4
lines changed Original file line number Diff line number Diff line change @@ -66,10 +66,7 @@ KERNEL (reorder_data_b_fs_yx_fsv16_fsv32_to_bfyx)(
66
66
67
67
68
68
#if (TILE_SIZE == DEFAULT_TILE_SIZE )
69
- // read
70
- INPUTVTYPE read_data = AS_INPUTVTYPE (_sub_group_block_read8 ((const __global uint * )(input ) + input_idx_tile ));
71
-
72
- // write
69
+ // write index
73
70
const uint output_idx = OUTPUT_GET_TILED_INDEX (OUTPUT_TILED_ORDER );
74
71
75
72
if (F_NO_REMAINDER_CONDITION
@@ -79,13 +76,25 @@ KERNEL (reorder_data_b_fs_yx_fsv16_fsv32_to_bfyx)(
79
76
) {
80
77
#ifdef X_REMAINDER_SIZE
81
78
if (X_REMAINDER_CONDITION ) {
79
+ // read
80
+ INPUTVTYPE read_data ;
81
+ for (int j = 0 ; j < X_REMAINDER_SIZE ; ++ j ) {
82
+ read_data [j ] = AS_INPUT0_TYPE (_sub_group_block_read ((const __global uint * )(input ) + input_idx_tile + j * DEFAULT_STRIDE ));
83
+ }
84
+ // write
82
85
for (int i = 0 ; i < X_REMAINDER_SIZE ; i ++ ) {
83
86
output [output_idx + i ] = TO_OUTPUT_TYPE (read_data [i ]);
84
87
}
85
88
} else {
89
+ // read
90
+ INPUTVTYPE read_data = AS_INPUTVTYPE (_sub_group_block_read8 ((const __global uint * )(input ) + input_idx_tile ));
91
+ // write
86
92
VSTORE (TO_OUTPUTVTYPE (read_data ), 0 , output + output_idx );
87
93
}
88
94
#else
95
+ // read
96
+ INPUTVTYPE read_data = AS_INPUTVTYPE (_sub_group_block_read8 ((const __global uint * )(input ) + input_idx_tile ));
97
+ // write
89
98
VSTORE (TO_OUTPUTVTYPE (read_data ), 0 , output + output_idx );
90
99
#endif
91
100
}
You can’t perform that action at this time.
0 commit comments