[GPU] Apply hsigmoid decomposition in oneDNN post-opt (#11603)
* [GPU] Apply hsigmoid decomposition in oneDNN post-opt Signed-off-by: hyunback <hyunback.kim@intel.com>
This commit is contained in:
@@ -1127,10 +1127,20 @@ void program_node::init_onednn_primitive_attributes() {
|
||||
|
||||
for (size_t i = 0; i < get_fused_activations_funcs().size(); i++) {
|
||||
auto activation_type = get_fused_activations_funcs()[i];
|
||||
auto params = get_fused_activations_params()[i];
|
||||
dnnl::algorithm alg = onednn::convert_activation_func(activation_type);
|
||||
post_ops.append_eltwise(1.0f, alg, params.a, params.b);
|
||||
update_onednn_post_op_list(onednn_post_op_type::eltwise_act, empty_mem);
|
||||
if (activation_type == cldnn::activation_func::hsigmoid) {
|
||||
// Unsupported hsigmoid oneDNN gpu, splits hsigmoid activation min(max(val + 3, 0), 6) / 6
|
||||
post_ops.append_eltwise(1.0f, dnnl::algorithm::eltwise_linear, 1.f, 3.f);
|
||||
post_ops.append_eltwise(1.0f, dnnl::algorithm::eltwise_clip, 0.f, 6.f);
|
||||
post_ops.append_eltwise(1.0f, dnnl::algorithm::eltwise_linear, 1/6.f, 0.f);
|
||||
update_onednn_post_op_list(onednn_post_op_type::eltwise_linear, empty_mem);
|
||||
update_onednn_post_op_list(onednn_post_op_type::eltwise_clip, empty_mem);
|
||||
update_onednn_post_op_list(onednn_post_op_type::eltwise_linear, empty_mem);
|
||||
} else {
|
||||
auto params = get_fused_activations_params()[i];
|
||||
dnnl::algorithm alg = onednn::convert_activation_func(activation_type);
|
||||
post_ops.append_eltwise(1.0f, alg, params.a, params.b);
|
||||
update_onednn_post_op_list(onednn_post_op_type::eltwise_act, empty_mem);
|
||||
}
|
||||
}
|
||||
|
||||
// Trying to optimize more than 1 post-ops
|
||||
|
||||
Reference in New Issue
Block a user