diff --git a/mindspore/ccsrc/backend/optimizer/pass/common_subexpression_elimination.cc b/mindspore/ccsrc/backend/optimizer/pass/common_subexpression_elimination.cc index c469ca6c0c..40182b8797 100644 --- a/mindspore/ccsrc/backend/optimizer/pass/common_subexpression_elimination.cc +++ b/mindspore/ccsrc/backend/optimizer/pass/common_subexpression_elimination.cc @@ -37,6 +37,12 @@ bool HasSideEffectAttr(const AnfNodePtr &node) { bool BackendCSE::CheckEqualKernelBuildInfo(const AnfNodePtr &main, const AnfNodePtr &node) const { MS_EXCEPTION_IF_NULL(main); MS_EXCEPTION_IF_NULL(node); + if (main->isa()) { + auto main_name = AnfAlgo::GetCNodeName(main); + if (main_name == prim::kPrimTensorMove->name() || main_name == prim::kPrimMemCpyAsync->name()) { + return false; + } + } auto main_kernel_info = dynamic_cast(main->kernel_info()); auto node_kernel_info = dynamic_cast(node->kernel_info()); if (main_kernel_info == nullptr && node_kernel_info == nullptr) { diff --git a/mindspore/core/base/core_ops.h b/mindspore/core/base/core_ops.h index 57dd08840c..8dc9a318c2 100644 --- a/mindspore/core/base/core_ops.h +++ b/mindspore/core/base/core_ops.h @@ -200,6 +200,7 @@ inline const PrimitivePtr kPrimFusedAdam = std::make_shared("FusedAda inline const PrimitivePtr kPrimFusedAdamWeightDecay = std::make_shared("FusedAdamWeightDecay"); inline const PrimitivePtr kPrimSGD = std::make_shared("SGD"); inline const PrimitivePtr kPrimClipByNormNoDivSum = std::make_shared("ClipByNormNoDivSum"); +inline const PrimitivePtr kPrimTensorMove = std::make_shared("TensorMove"); // Comm ops inline const PrimitivePtr kPrimMirror = std::make_shared("_MirrorOperator");