[GPU] Do not select onednn format for asymmetric weight (#19140) (#19265)

This commit is contained in:
hyunback kim
2023-08-21 16:30:33 +09:00
committed by GitHub
parent a93f320a48
commit ea482d8391
2 changed files with 3 additions and 1 deletions

View File

@@ -39,6 +39,8 @@ void select_preferred_formats::run(program& p) {
// Onednn primitive descriptor creation may fail, for example, due to asymmetric weight.
try {
if (n->is_type<convolution>()) {
if (n->as<convolution>().weights_zero_points_term())
continue;
auto prim_desc = onednn::get_convolution_primitive_descriptor(*n->get_kernel_impl_params(),
dnnl::primitive_attr(),
dnnl::memory::format_tag::any);

View File

@@ -1083,7 +1083,7 @@ layout layout_optimizer::get_expected_layout(layout const& current_layout,
bool use_onednn_impls = _optimization_attributes.use_onednn_impls && input_layout.data_type != data_types::f32;
bool i8_u8_input = input_layout.data_type == data_types::u8 || input_layout.data_type == data_types::i8;
if (use_onednn_impls && onednn_valid_post_ops) {
if (use_onednn_impls && onednn_valid_post_ops && node.get_preferred_output_fmt() != format::any) {
expected_format = node.get_preferred_output_fmt();
} else {
/* *************************** Native impls format selection part ************************** */