From be71ae982b9b99bd3c58914a7ae793a37908f56d Mon Sep 17 00:00:00 2001 From: YangLuo Date: Fri, 8 Oct 2021 16:20:32 +0800 Subject: [PATCH] Enable MD cleanup at module exit --- mindspore/ccsrc/pipeline/jit/init.cc | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/mindspore/ccsrc/pipeline/jit/init.cc b/mindspore/ccsrc/pipeline/jit/init.cc index 9f28ff51f0d..f41c1768085 100644 --- a/mindspore/ccsrc/pipeline/jit/init.cc +++ b/mindspore/ccsrc/pipeline/jit/init.cc @@ -302,16 +302,15 @@ PYBIND11_MODULE(_c_expression, m) { .def("reset_algo_parameters", &CostModelContext::ResetAlgoParameters, "Reset the AlgoParameters."); (void)py::module::import("atexit").attr("register")(py::cpp_function{[&]() -> void { +#ifdef ENABLE_MINDDATA + MS_LOG(INFO) << "Start releasing dataset handles..."; + py::module iterators = py::module::import("mindspore.dataset.engine.iterators"); + (void)iterators.attr("_cleanup")(); + MS_LOG(INFO) << "End release dataset handles."; +#endif // only in case that c++ calling python interface, ClearResAtexit should be called. if (mindspore::parse::python_adapter::IsPythonEnv()) { mindspore::pipeline::ClearResAtexit(); - -#ifdef ENABLE_MINDDATA - MS_LOG(INFO) << "Start releasing dataset handles..."; - py::module iterators = py::module::import("mindspore.dataset.engine.iterators"); - (void)iterators.attr("_cleanup")(); - MS_LOG(INFO) << "End release dataset handles."; -#endif } }});