diff --git a/src/opr/impl/misc.cpp b/src/opr/impl/misc.cpp index f557e2b60dc9ea166b5e3bcf9c5fb1ac4c2b291d..9d0820d879a71267baca6e3486498f3a893900e7 100644 --- a/src/opr/impl/misc.cpp +++ b/src/opr/impl/misc.cpp @@ -132,6 +132,10 @@ void Cumsum::scn_do_execute() { intl::get_megdnn_workspace_from_var(output().back())); } +void Cumsum::add_input_layout_constraint() { + input(0)->add_layout_constraint_contiguous(); +} + void Cumsum::init_output_static_infer_desc() { using namespace cg::static_infer; auto infer_shape = [](TensorShape& dest, const InpVal& iv) { diff --git a/src/opr/include/megbrain/opr/misc.h b/src/opr/include/megbrain/opr/misc.h index 63d17b5907b0e97c0a4ed8169240abd54a18af71..f3559d953e321fd45ffb1fa3c3b15fcbe3c508a3 100644 --- a/src/opr/include/megbrain/opr/misc.h +++ b/src/opr/include/megbrain/opr/misc.h @@ -86,6 +86,7 @@ public: //! cumulative sum along given axis MGB_DEFINE_OPR_CLASS(Cumsum, cg::SingleCNOperatorNodeBaseT< mixin::MegDNNOprHolderImpl>) // { + void add_input_layout_constraint() override; public: Cumsum(VarNode *src, const Param ¶m, const OperatorNodeConfig &config);