|
@@ -267,16 +267,6 @@ ElemwiseImpl::KernParam ElemwiseImpl::make_kern_param(ElemwiseImpl* opr) { |
|
|
return kern_param; |
|
|
return kern_param; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if (is_vector(src0.layout) && is_broadcasted_3dim_like(src1.layout, binfo)) { |
|
|
|
|
|
kern_param.broad_cast_type = BcastType::VEC_BCASTX0X; |
|
|
|
|
|
return kern_param; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (is_vector(src1.layout) && is_broadcasted_3dim_like(src0.layout, binfo)) { |
|
|
|
|
|
kern_param.broad_cast_type = BcastType::BCASTX0X_VEC; |
|
|
|
|
|
return kern_param; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (is_legal_layout_for_nhwc(src1.layout) && |
|
|
if (is_legal_layout_for_nhwc(src1.layout) && |
|
|
is_NHWC_broadcasted_channel_like(src0.layout, binfo)) { |
|
|
is_NHWC_broadcasted_channel_like(src0.layout, binfo)) { |
|
|
kern_param.broad_cast_type = BcastType::BCAST111C_VEC; |
|
|
kern_param.broad_cast_type = BcastType::BCAST111C_VEC; |
|
@@ -302,6 +292,16 @@ ElemwiseImpl::KernParam ElemwiseImpl::make_kern_param(ElemwiseImpl* opr) { |
|
|
kern_param.broad_cast_type = BcastType::BCAST101xX_VEC; |
|
|
kern_param.broad_cast_type = BcastType::BCAST101xX_VEC; |
|
|
return kern_param; |
|
|
return kern_param; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (is_vector(src0.layout) && is_broadcasted_3dim_like(src1.layout, binfo)) { |
|
|
|
|
|
kern_param.broad_cast_type = BcastType::VEC_BCASTX0X; |
|
|
|
|
|
return kern_param; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (is_vector(src1.layout) && is_broadcasted_3dim_like(src0.layout, binfo)) { |
|
|
|
|
|
kern_param.broad_cast_type = BcastType::BCASTX0X_VEC; |
|
|
|
|
|
return kern_param; |
|
|
|
|
|
} |
|
|
} else if (opr->m_src->size() == 1) { |
|
|
} else if (opr->m_src->size() == 1) { |
|
|
kern_param.broad_cast_type = BcastType::VEC; |
|
|
kern_param.broad_cast_type = BcastType::VEC; |
|
|
kern_param.unary_elparam = opr->make_elemwise_op_param<1>(); |
|
|
kern_param.unary_elparam = opr->make_elemwise_op_param<1>(); |
|
|