}
slm_block[c + lid] = AS_PACKED_IN_TYPE(src);
#elif INPUT0_LAYOUT_B_FS_YX_FSV4
- const __global uint* ptr = input + input_offset + kh * DILATION_SIZE_Y * input_y_pitch + (x_chunk + lid) * input_x_pitch;
+ const __global uint* ptr = input + input_offset
+ + (kh * DILATION_SIZE_Y + INPUT0_PAD_BEFORE_SIZE_Y) * input_y_pitch
+ + (x_chunk + lid + INPUT0_PAD_BEFORE_SIZE_X) * input_x_pitch;
PACKED_IN_TYPE src = AS_PACKED_IN_TYPE(ptr[0]);
slm_block[c + lid] = src;
#endif
}
slm_block_tail[lid] = AS_PACKED_IN_TYPE(src);
#elif INPUT0_LAYOUT_B_FS_YX_FSV4
- const __global uint* ptr = input + input_offset + kh * DILATION_SIZE_Y * input_y_pitch + (x_chunk + lid) * input_x_pitch;
+ const __global uint* ptr = input + input_offset
+ + (kh * DILATION_SIZE_Y + INPUT0_PAD_BEFORE_SIZE_Y) * input_y_pitch
+ + (x_chunk + lid + INPUT0_PAD_BEFORE_SIZE_X) * input_x_pitch;
PACKED_IN_TYPE src = AS_PACKED_IN_TYPE(ptr[0]);
slm_block_tail[lid] = src;
#endif
class convolution_test_base {
public:
virtual topology build_topology(const cldnn::engine& engine) {
- auto input_lay = layout(input_type(), format::bfyx, input_size());
+ auto input_lay = layout(input_type(), format::bfyx, input_size(), padding_size());
auto wei_lay = layout(weights_type(), format::bfyx, weights_size());
auto wei_mem = memory::allocate(engine, wei_lay);
auto net = network(prog, 0);
- auto input_lay = layout(input_type(), format::bfyx, input_size());
+ auto input_lay = layout(input_type(), format::bfyx, input_size(), padding_size());
auto input_mem = memory::allocate(engine, input_lay);
std::vector<InputT> input_flat(input_lay.get_linear_size(), static_cast<InputT>(0));
for (size_t bi = 0; bi < batch_num(); ++bi)
public:
using parent = convolution_random_test_base<InputT, WeightsT, OutputT>;
topology build_topology(const cldnn::engine& engine) override {
- auto input_lay = layout(this->input_type(), format::b_fs_yx_fsv4, this->input_size());
+ auto input_lay = layout(this->input_type(), format::b_fs_yx_fsv4, this->input_size(), this->padding_size());
auto wei_lay = layout(this->weights_type(), format::bfyx, this->weights_size());
auto wei_mem = memory::allocate(engine, wei_lay);
auto net = network(prog, 0);
- auto input_lay = layout(this->input_type(), format::b_fs_yx_fsv4, this->input_size());
+ auto input_lay = layout(this->input_type(), format::b_fs_yx_fsv4, this->input_size(), this->padding_size());
auto input_mem = memory::allocate(engine, input_lay);
std::vector<InputT> input_flat(input_lay.get_linear_size(), static_cast<InputT>(0));
for (size_t bi = 0; bi < this->batch_num(); ++bi)