Gna 3 5 as default target with transpose fixes (#18373)

* [GNA] Set GNA 3.5 as default target and add 3.5 to properties

* [GNA] fix release version to 2023.1.

Co-authored-by: Szymon Irzabek <szymon.jakub.irzabek@intel.com>

* [GNA] Fix E2E Tests for Kaldi Framework

 * added fix for InsertConvolutionTransposeHW

---------

Co-authored-by: Szymon Irzabek <szymon.jakub.irzabek@intel.com>
Co-authored-by: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
This commit is contained in:
Marcin Kusmierski 2023-07-19 14:48:01 +02:00 committed by GitHub
parent 5397e299fd
commit 186b1b6bfc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 18 additions and 6 deletions

View File

@ -165,20 +165,23 @@ INFERENCE_ENGINE_1_0_DEPRECATED DECLARE_GNA_CONFIG_VALUE(AVX2);
INFERENCE_ENGINE_1_0_DEPRECATED DECLARE_GNA_CONFIG_VALUE(AVX2_EXACT); INFERENCE_ENGINE_1_0_DEPRECATED DECLARE_GNA_CONFIG_VALUE(AVX2_EXACT);
/** /**
* @brief The option to override the GNA HW execution target. May be one of GNA_TARGET_2_0, GNA_TARGET_3_0. * @brief The option to override the GNA HW execution target. May be one of GNA_TARGET_2_0, GNA_TARGET_3_0,
* GNA_TARGET_3_5.
* By default (in case of no value set) the behavior depends on GNA HW availability: * By default (in case of no value set) the behavior depends on GNA HW availability:
* If GNA HW is present, use the option corresponding to this HW. * If GNA HW is present, use the option corresponding to this HW.
* If HW is not present, use the option corresponding to the latest fully supported GNA HW generation. * If HW is not present, use the option corresponding to the latest fully supported GNA HW generation.
* A fully supported GNA HW generation means it must be supported by both the OV GNA Plugin and the core GNA Library. * A fully supported GNA HW generation means it must be supported by both the OV GNA Plugin and the core GNA Library.
* For the OV GNA Plugin 2022.1, the latest supported GNA HW generation corresponds to GNA_TARGET_3_0. * For the OV GNA Plugin 2023.1, the latest supported GNA HW generation corresponds to GNA_TARGET_3_5.
*/ */
INFERENCE_ENGINE_1_0_DEPRECATED DECLARE_GNA_CONFIG_KEY(EXEC_TARGET); INFERENCE_ENGINE_1_0_DEPRECATED DECLARE_GNA_CONFIG_KEY(EXEC_TARGET);
INFERENCE_ENGINE_1_0_DEPRECATED DECLARE_GNA_CONFIG_VALUE(TARGET_2_0); INFERENCE_ENGINE_1_0_DEPRECATED DECLARE_GNA_CONFIG_VALUE(TARGET_2_0);
INFERENCE_ENGINE_1_0_DEPRECATED DECLARE_GNA_CONFIG_VALUE(TARGET_3_0); INFERENCE_ENGINE_1_0_DEPRECATED DECLARE_GNA_CONFIG_VALUE(TARGET_3_0);
INFERENCE_ENGINE_1_0_DEPRECATED DECLARE_GNA_CONFIG_VALUE(TARGET_3_5);
/** /**
* @brief The option to override the GNA HW compile target. May be one of GNA_TARGET_2_0, GNA_TARGET_3_0. * @brief The option to override the GNA HW compile target. May be one of GNA_TARGET_2_0, GNA_TARGET_3_0,
* GNA_TARGET_3_5.
* By default the same as GNA_EXEC_TARGET. * By default the same as GNA_EXEC_TARGET.
*/ */
INFERENCE_ENGINE_1_0_DEPRECATED DECLARE_GNA_CONFIG_KEY(COMPILE_TARGET); INFERENCE_ENGINE_1_0_DEPRECATED DECLARE_GNA_CONFIG_KEY(COMPILE_TARGET);

View File

@ -194,7 +194,7 @@ static constexpr Property<ExecutionMode> execution_mode{"GNA_DEVICE_MODE"};
* If GNA HW is present, use the option corresponding to this HW. * If GNA HW is present, use the option corresponding to this HW.
* If HW is not present, use the option corresponding to the latest fully supported GNA HW generation. * If HW is not present, use the option corresponding to the latest fully supported GNA HW generation.
* A fully supported GNA HW generation means it must be supported by both the OV GNA Plugin and the core GNA Library. * A fully supported GNA HW generation means it must be supported by both the OV GNA Plugin and the core GNA Library.
* Currently, the latest supported GNA HW generation corresponds to GNA_3_0. * Currently, the latest supported GNA HW generation corresponds to GNA_3_5.
* @ingroup ov_runtime_gna_prop_cpp_api * @ingroup ov_runtime_gna_prop_cpp_api
*/ */
static constexpr Property<HWGeneration> execution_target{"GNA_HW_EXECUTION_TARGET"}; static constexpr Property<HWGeneration> execution_target{"GNA_HW_EXECUTION_TARGET"};

View File

@ -24,7 +24,7 @@ enum class DeviceVersion {
GNAEmbedded3_5 = 0x35e, GNAEmbedded3_5 = 0x35e,
GNA3_6 = 0x36e, GNA3_6 = 0x36e,
GNA4_0 = 0x40e, GNA4_0 = 0x40e,
Default = GNA3_0 Default = GNA3_5
}; };
class Target { class Target {

View File

@ -36,7 +36,16 @@ InsertConvolutionTransposeHW::InsertConvolutionTransposeHW() {
std::dynamic_pointer_cast<op::GNAConvolution>(node.get_node_shared_ptr()); std::dynamic_pointer_cast<op::GNAConvolution>(node.get_node_shared_ptr());
helper::ConvData conv_data; helper::ConvData conv_data;
helper::GetConvData(conv, conv_data); helper::GetConvData(conv, conv_data);
return gna_convolution_layer::should_transpose_h_w(static_cast<uint32_t>(conv_data.input_height), auto validator = limitations::Limitations::get_instance()->get_cnn_validator();
return (validator && !validator->ShouldUseOnlyConv2DGnaIface()) &&
gna_convolution_layer::isMappableFrom2DTo1D(static_cast<uint32_t>(conv_data.input_height),
static_cast<uint32_t>(conv_data.input_width),
static_cast<uint32_t>(conv_data.input_channel_count),
static_cast<uint32_t>(conv_data.filter_height),
static_cast<uint32_t>(conv_data.filter_width),
static_cast<uint32_t>(conv_data.filter_stride_height),
static_cast<uint32_t>(conv_data.filter_stride_width)) &&
gna_convolution_layer::should_transpose_h_w(static_cast<uint32_t>(conv_data.input_height),
static_cast<uint32_t>(conv_data.filter_height), static_cast<uint32_t>(conv_data.filter_height),
static_cast<uint32_t>(conv_data.input_channel_count), static_cast<uint32_t>(conv_data.input_channel_count),
static_cast<uint32_t>(conv_data.filter_stride_height)); static_cast<uint32_t>(conv_data.filter_stride_height));