diff --git a/experimental/builder/include/ck_tile/builder/factory/helpers/ck/conv_elementwise_op.hpp b/experimental/builder/include/ck_tile/builder/factory/helpers/ck/conv_elementwise_op.hpp index 0cc43fc679..bfc6fb40c3 100644 --- a/experimental/builder/include/ck_tile/builder/factory/helpers/ck/conv_elementwise_op.hpp +++ b/experimental/builder/include/ck_tile/builder/factory/helpers/ck/conv_elementwise_op.hpp @@ -29,6 +29,12 @@ struct ElementwiseOpToCK using Op = ck::tensor_operation::element_wise::Scale; }; +template <> +struct ElementwiseOpToCK +{ + using Op = ck::tensor_operation::element_wise::Bilinear; +}; + template <> struct ElementwiseOpToCK { @@ -41,6 +47,12 @@ struct ElementwiseOpToCK using Op = ck::tensor_operation::element_wise::ScaleAddScaleAddRelu; }; +template <> +struct ElementwiseOpToCK +{ + using Op = ck::tensor_operation::element_wise::AddClamp; +}; + template <> struct ElementwiseOpToCK { diff --git a/experimental/builder/test/unit_conv_elementwise_op.cpp b/experimental/builder/test/unit_conv_elementwise_op.cpp index 610edd281e..3b66179d70 100644 --- a/experimental/builder/test/unit_conv_elementwise_op.cpp +++ b/experimental/builder/test/unit_conv_elementwise_op.cpp @@ -23,6 +23,12 @@ TEST(ConvElementwiseOp, AssignsOpsForScale) EXPECT_TRUE((std::is_same_v)); } +TEST(ConvElementwiseOp, AssignsOpsForBilinear) +{ + using Op = ElementwiseOpToCK::Op; + EXPECT_TRUE((std::is_same_v)); +} + TEST(ConvElementwiseOp, AssignsOpsForClamp) { using Op = ElementwiseOpToCK::Op; @@ -35,6 +41,12 @@ TEST(ConvElementwiseOp, AssignsOpsForScaleAddScaleAddRelu) EXPECT_TRUE((std::is_same_v)); } +TEST(ConvElementwiseOp, AssignsOpsForAddClamp) +{ + using Op = ElementwiseOpToCK::Op; + EXPECT_TRUE((std::is_same_v)); +} + TEST(ConvElementwiseOp, AssignsOpsForBiasNormClamp) { using Op = ElementwiseOpToCK::Op;