Skip to content

Commit d0a6c9f

Browse files
authored
[webgpu] fix hardsigmoid fuse (microsoft#24745)
low and high need to be value_type_cast to T to match clamp signature: clamp(e: T, low: T, high: T) fix for microsoft#24644
1 parent 03a2544 commit d0a6c9f

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

onnxruntime/core/providers/webgpu/nn/fuse_utils.cc

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,15 @@ std::string GetActivationSnippet(const Activation& activation, std::string value
6363
case ActivationKind::Sigmoid:
6464
return "value = " + value_type_cast(1.0) + " / (" + value_type_cast(1.0) + " + exp(-value));";
6565
case ActivationKind::Clip:
66-
return "value = clamp(value, " + value_type_cast(activation.activation_params_.Clip.minimum_) + ", " + value_type_cast(activation.activation_params_.Clip.maximum_) + ");";
66+
return "value = clamp(value, " + value_type_cast(activation.activation_params_.Clip.minimum_) + ", " +
67+
value_type_cast(activation.activation_params_.Clip.maximum_) + ");";
6768
case ActivationKind::HardSigmoid:
68-
return "value = clamp(" + value_type_cast(activation.activation_params_.HardSigmoid.alpha_) + " * value + " + value_type_cast(activation.activation_params_.HardSigmoid.beta_) + ", 0.0" + ", 1.0" + ");";
69+
return "value = clamp(" + value_type_cast(activation.activation_params_.HardSigmoid.alpha_) + " * value + " +
70+
value_type_cast(activation.activation_params_.HardSigmoid.beta_) + ", " + value_type_cast(0.0) + ", " +
71+
value_type_cast(1.0) + ");";
6972
case ActivationKind::LeakyRelu:
70-
return "value = select(" + base_type_cast(activation.activation_params_.LeakyRelu.alpha_) + " * value, value, value >= " + value_type_cast(0.0) + ");";
73+
return "value = select(" + base_type_cast(activation.activation_params_.LeakyRelu.alpha_) +
74+
" * value, value, value >= " + value_type_cast(0.0) + ");";
7175
case ActivationKind::Tanh:
7276
return "value = tanh(value);";
7377
default:

0 commit comments

Comments
 (0)