const optional_params& options,
const std::string exeMode,
int autoTuneIndex) const {
- if (!Validate(params, options)) {
+ KernelData kd = KernelData::Default<convolution_params>(params);
+ convolution_params& newParams = *static_cast<convolution_params*>(kd.params.get());
+
+ bool succeed = UpdateWeightsParams(newParams,
+ options,
+ GetPreferredWeightsLayout(newParams),
+ kd.weightsReorderParams,
+ GetSupportedKey(),
+ newParams.groups,
+ newParams.transposed);
+
+ if (!succeed) {
return {};
}
- KernelData kd = KernelData::Default<convolution_params>(params);
- convolution_params& newParams = *static_cast<convolution_params*>(kd.params.get());
+ if (!Validate(params, options)) {
+ return {};
+ }
if (NeedPaddedInput()) {
kd.reorderInput = CovolutionUpdateInputParams(newParams);
return {};
}
- bool succeed = UpdateWeightsParams(newParams,
- options,
- GetPreferredWeightsLayout(newParams),
- kd.weightsReorderParams,
- GetSupportedKey(),
- newParams.groups,
- newParams.transposed);
-
- if (!succeed) {
- return {};
- }
-
auto finalKernelName = GetKernelName(newParams);
auto cldnnJit = GetJitConstants(newParams, runInfo);
auto entryPoint = GetEntryPoint(finalKernelName, newParams.layerID, options);
INSTANTIATE_TEST_CASE_P(convolution_grouped_fsv4_fsv16,
convolution_grouped_gpu,
::testing::Values(
- // Input X size, Input Y size, Input features, Output features, Kernel size X, Kernel size
- // Y, Groups number, Stride, Output padding, Batch, Input data format
+ // Input X size, Input Y size, Input features, Output features, Kernel size X, Kernel size Y,
+ // Groups number, Stride, Output padding, Batch, Input data format
// Format: b_fs_yx_fsv4
+ TestParamType_grouped_convolution_gpu(4, 4, 16, 17, 3, 3, 1, 1, 1, format::b_fs_yx_fsv4),
TestParamType_grouped_convolution_gpu(4, 4, 16, 16, 3, 3, 4, 1, 1, format::b_fs_yx_fsv4),
TestParamType_grouped_convolution_gpu(4, 4, 8, 4, 2, 2, 2, 1, 4, format::b_fs_yx_fsv4),
TestParamType_grouped_convolution_gpu(8, 8, 16, 16, 4, 4, 4, 1, 1, format::b_fs_yx_fsv4),
TestParamType_grouped_convolution_gpu(3, 3, 48, 96, 2, 2, 2, 8, 1, format::b_fs_yx_fsv4),
TestParamType_grouped_convolution_gpu(6, 6, 8, 26, 3, 3, 2, 4, 1, format::b_fs_yx_fsv4),
// Format: b_fs_yx_fsv16
+ TestParamType_grouped_convolution_gpu(4, 4, 16, 17, 3, 3, 1, 1, 1, format::b_fs_yx_fsv16),
TestParamType_grouped_convolution_gpu(4, 4, 16, 16, 3, 3, 4, 1, 1, format::b_fs_yx_fsv16),
TestParamType_grouped_convolution_gpu(4, 4, 8, 4, 2, 2, 2, 1, 4, format::b_fs_yx_fsv16),
TestParamType_grouped_convolution_gpu(8, 8, 16, 16, 4, 4, 4, 1, 1, format::b_fs_yx_fsv16),