| @@ -53,20 +53,7 @@ if(ENABLE_GPU) | |||
| endif() | |||
| endif() | |||
| if(ENABLE_GE) | |||
| include_directories(${CMAKE_SOURCE_DIR}/third_party/ge/include) | |||
| include_directories(${CMAKE_SOURCE_DIR}/third_party/ge/include/external) | |||
| include_directories(${CMAKE_SOURCE_DIR}/third_party/ge/include/external/graph) | |||
| link_directories(${CMAKE_SOURCE_DIR}/third_party/ge/lib) | |||
| elseif(ENABLE_D OR ENABLE_ACL OR ENABLE_TESTCASES) | |||
| include_directories(${CMAKE_SOURCE_DIR}/graphengine/inc) | |||
| include_directories(${CMAKE_SOURCE_DIR}/graphengine/inc/external) | |||
| include_directories(${CMAKE_SOURCE_DIR}/graphengine/metadef/inc) | |||
| include_directories(${CMAKE_SOURCE_DIR}/graphengine/metadef/inc/external) | |||
| include_directories(${CMAKE_SOURCE_DIR}/graphengine/metadef/inc/external/graph) | |||
| endif() | |||
| if(ENABLE_GE OR ENABLE_D OR ENABLE_ACL OR ENABLE_TESTCASES) | |||
| if(ENABLE_D OR ENABLE_ACL OR ENABLE_TESTCASES) | |||
| include_directories(${CMAKE_SOURCE_DIR}/graphengine/inc) | |||
| include_directories(${CMAKE_SOURCE_DIR}/graphengine/inc/external) | |||
| include_directories(${CMAKE_SOURCE_DIR}/graphengine/inc/framework) | |||
| @@ -1,7 +1,6 @@ | |||
| option(ENABLE_D "Enable d" OFF) | |||
| option(ENABLE_GPU "Enable gpu" OFF) | |||
| option(ENABLE_CPU "Enable cpu" OFF) | |||
| option(ENABLE_GE "Enable graph engine as backend to execute" OFF) | |||
| option(ENABLE_MINDDATA "Enable minddata compile" OFF) | |||
| option(ENABLE_TRAIN "Enable ge train, default off(only infer)" OFF) | |||
| option(ENABLE_TESTCASES "Run testcases switch, default off" OFF) | |||
| @@ -30,7 +29,7 @@ option(BUILD_DEV_MODE "MindSpore build nightly dev mode" OFF) | |||
| option(ENABLE_FAST_HASH_TABLE "Enable use fast hash table instead of std ones" ON) | |||
| option(USE_LLVM "use llvm" OFF) | |||
| if(NOT ENABLE_D AND NOT ENABLE_TESTCASES AND NOT ENABLE_ACL AND NOT ENABLE_GE) | |||
| if(NOT ENABLE_D AND NOT ENABLE_TESTCASES AND NOT ENABLE_ACL) | |||
| set(ENABLE_GLIBCXX ON) | |||
| endif() | |||
| @@ -73,7 +72,7 @@ if(NOT BUILD_PATH) | |||
| set(BUILD_PATH "${CMAKE_SOURCE_DIR}/build") | |||
| endif() | |||
| if(ENABLE_GE OR ENABLE_D) | |||
| if(ENABLE_D) | |||
| set(ENABLE_TDTQUE ON) | |||
| endif() | |||
| @@ -86,8 +85,8 @@ if(ENABLE_CPU) | |||
| add_compile_definitions(ENABLE_CPU) | |||
| endif() | |||
| if(ENABLE_GE) | |||
| add_compile_definitions(ENABLE_GE) | |||
| if(ENABLE_D) | |||
| add_compile_definitions(ENABLE_D) | |||
| add_compile_definitions(CUSTOM_OP) | |||
| endif() | |||
| @@ -117,7 +116,7 @@ if(ENABLE_LOAD_ANF_IR) | |||
| add_compile_definitions(ENABLE_LOAD_ANF_IR) | |||
| endif() | |||
| if(ENABLE_TESTCASES OR (NOT ENABLE_D AND NOT ENABLE_GE)) | |||
| if(ENABLE_TESTCASES OR (NOT ENABLE_D)) | |||
| add_compile_definitions(NO_DLIB=1) | |||
| endif() | |||
| @@ -161,4 +160,4 @@ endif() | |||
| if(USE_LLVM) | |||
| add_compile_definitions(USE_LLVM) | |||
| endif() | |||
| endif() | |||
| @@ -17,11 +17,7 @@ set(CPACK_CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE}) | |||
| set(CPACK_PYTHON_EXE ${Python3_EXECUTABLE}) | |||
| set(CPACK_PYTHON_VERSION ${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}) | |||
| if(ENABLE_GE) | |||
| set(CPACK_MS_BACKEND "ge") | |||
| set(CPACK_MS_TARGET "ascend or cpu") | |||
| set(CPACK_MS_PACKAGE_NAME "mindspore") | |||
| elseif(ENABLE_GPU) | |||
| if(ENABLE_GPU) | |||
| set(CPACK_MS_BACKEND "ms") | |||
| set(CPACK_MS_TARGET "gpu or cpu") | |||
| if(BUILD_DEV_MODE) | |||
| @@ -232,31 +228,29 @@ if(ENABLE_CPU AND NOT WIN32) | |||
| ) | |||
| endif() | |||
| if(NOT ENABLE_GE) | |||
| if(ENABLE_D OR ENABLE_ACL) | |||
| if(DEFINED ENV{ASCEND_CUSTOM_PATH}) | |||
| set(ASCEND_PATH $ENV{ASCEND_CUSTOM_PATH}) | |||
| else() | |||
| set(ASCEND_PATH /usr/local/Ascend) | |||
| endif() | |||
| set(ASCEND_DRIVER_PATH ${ASCEND_PATH}/driver/lib64/common) | |||
| if(ENABLE_D OR ENABLE_ACL) | |||
| if(DEFINED ENV{ASCEND_CUSTOM_PATH}) | |||
| set(ASCEND_PATH $ENV{ASCEND_CUSTOM_PATH}) | |||
| else() | |||
| set(ASCEND_PATH /usr/local/Ascend) | |||
| endif() | |||
| set(ASCEND_DRIVER_PATH ${ASCEND_PATH}/driver/lib64/common) | |||
| if(ENABLE_D) | |||
| install( | |||
| TARGETS hccl_plugin | |||
| DESTINATION ${INSTALL_LIB_DIR} | |||
| COMPONENT mindspore | |||
| ) | |||
| endif() | |||
| elseif(ENABLE_TESTCASES) | |||
| if(ENABLE_D) | |||
| install( | |||
| FILES | |||
| ${CMAKE_BINARY_DIR}/graphengine/metadef/graph/libgraph.so | |||
| ${BUILD_PATH}/graphengine/c_sec/lib/libc_sec.so | |||
| DESTINATION ${INSTALL_LIB_DIR} | |||
| COMPONENT mindspore | |||
| TARGETS hccl_plugin | |||
| DESTINATION ${INSTALL_LIB_DIR} | |||
| COMPONENT mindspore | |||
| ) | |||
| endif() | |||
| elseif(ENABLE_TESTCASES) | |||
| install( | |||
| FILES | |||
| ${CMAKE_BINARY_DIR}/graphengine/metadef/graph/libgraph.so | |||
| ${BUILD_PATH}/graphengine/c_sec/lib/libc_sec.so | |||
| DESTINATION ${INSTALL_LIB_DIR} | |||
| COMPONENT mindspore | |||
| ) | |||
| endif() | |||
| if(MS_BUILD_GRPC) | |||
| @@ -297,7 +297,7 @@ if(MODE_ASCEND_ALL OR MODE_ASCEND_ACL) | |||
| endif() | |||
| endif() | |||
| if(ENABLE_GE) | |||
| if(ENABLE_D) | |||
| find_library(GE_RUNNER ge_runner ${ASCEND_RUNTIME_PATH} ${ASCEND_TOOLKIT_RUNTIME_PATH}) | |||
| find_library(GRAPH graph ${ASCEND_RUNTIME_PATH} ${ASCEND_TOOLKIT_RUNTIME_PATH}) | |||
| find_library(HCCL hccl ${ASCEND_RUNTIME_PATH} ${ASCEND_TOOLKIT_RUNTIME_PATH}) | |||
| @@ -50,8 +50,7 @@ bool CreateSessionAndGraphRunner() { | |||
| options["ge.enablePrintOpPass"] = "0"; | |||
| sess = transform::GraphRunner::NewSession(options); | |||
| if (sess == nullptr) { | |||
| MS_LOG(ERROR) << "Init data graph failed, because of create Ge session failed"; | |||
| return false; | |||
| MS_LOG(WARNING) << "Init data graph failed, because of create Ge session failed"; | |||
| } else { | |||
| transform::DfGraphManager::GetInstance().SetGeSession(sess); | |||
| } | |||
| @@ -20,7 +20,7 @@ set_property(SOURCE ${PARSER_SRC_FILES} PROPERTY COMPILE_DEFINITIONS SUBMODULE_I | |||
| file(GLOB_RECURSE ANALYZER_SRC_FILES "static_analysis/*.cc") | |||
| set_property(SOURCE ${ANALYZER_SRC_FILES} PROPERTY COMPILE_DEFINITIONS SUBMODULE_ID=mindspore::SubModuleId::SM_ANALYZER) | |||
| if(ENABLE_GE OR ENABLE_D) | |||
| if(ENABLE_D) | |||
| file(GLOB_RECURSE _PIPELINE_GE_SRC_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "pipeline_ge.cc") | |||
| list(APPEND _PIPELINE_SRC_FILES ${_PIPELINE_GE_SRC_FILES}) | |||
| endif() | |||
| @@ -77,7 +77,7 @@ | |||
| #include "distributed/cluster/cluster_context.h" | |||
| #endif | |||
| #if ((defined ENABLE_GE) || (defined ENABLE_D)) | |||
| #ifdef ENABLE_D | |||
| #include "pipeline/jit/pipeline_ge.h" | |||
| #include "transform/graph_ir/convert.h" | |||
| #include "transform/graph_ir/df_graph_manager.h" | |||
| @@ -85,6 +85,7 @@ | |||
| #include "runtime/device/ascend/profiling/profiling_manager.h" | |||
| #include "runtime/device/ascend/distribute/ascend_collective.h" | |||
| #endif | |||
| #ifdef ENABLE_DUMP_IR | |||
| #include "debug/rdr/running_data_recorder.h" | |||
| #include "debug/rdr/recorder_manager.h" | |||
| @@ -714,8 +715,15 @@ py::dict GraphExecutorPy::GetAllreduceFusion(const std::string &phase) { | |||
| // Not support multi thread, not support nested call too. | |||
| // Here using nested_called flg to avoid nested call. | |||
| void GraphExecutorPy::DelNetRes(const py::set &id) { | |||
| #ifdef ENABLE_GE | |||
| FinalizeBackend(); | |||
| #ifdef ENABLE_D | |||
| auto ms_context = MsContext::GetInstance(); | |||
| MS_EXCEPTION_IF_NULL(ms_context); | |||
| std::string backend = ms_context->backend_policy(); | |||
| if (backend == "ge") { | |||
| FinalizeBackend(); | |||
| } else { | |||
| ConfigManager::GetInstance().ResetIterNum(); | |||
| } | |||
| #else | |||
| ConfigManager::GetInstance().ResetIterNum(); | |||
| #endif | |||
| @@ -728,9 +736,8 @@ void GraphExecutorPy::DelNetRes(const py::set &id) { | |||
| MS_LOG(ERROR) << "Expect string phase, but got " << py::str(item); | |||
| } | |||
| } | |||
| #ifdef ENABLE_GE | |||
| if (!id.empty() && info_.size() == 0) { | |||
| #ifdef ENABLE_D | |||
| if (backend == "ge" && !id.empty() && info_.size() == 0) { | |||
| // because Ge only support one Session exist at the same time ,so we delete the old one | |||
| transform::DfGraphManager::GetInstance().DeleteGraphRunner(); | |||
| transform::DfGraphManager::GetInstance().EraseAnfGraph(); | |||
| @@ -986,9 +993,6 @@ bool GraphExecutorPy::CompileInner(const py::object &source_obj, const py::tuple | |||
| MS_LOG(INFO) << "Start compiling, phase: " << phase; | |||
| MS_LOG(DEBUG) << "source: {" << py::str(source_obj) << "}\nargs: " << py::str(const_cast<py::tuple &>(args)); | |||
| #ifdef ENABLE_GE | |||
| GetGeBackendPolicy(); | |||
| #endif | |||
| ExecutorInfoPtr executor_info = std::make_shared<ExecutorInfo>(); | |||
| ResourcePtr resource = std::make_shared<Resource>(source_obj); | |||
| @@ -1372,26 +1376,25 @@ py::object GraphExecutorPy::Run(const py::tuple &args, const py::object &phase_o | |||
| MS_LOG(EXCEPTION) << "Run failed, phase input is not a str"; | |||
| } | |||
| auto phase = py::cast<std::string>(phase_obj); | |||
| std::string backend = MsContext::GetInstance()->backend_policy(); | |||
| #ifdef ENABLE_GE | |||
| if (backend == "ge") { | |||
| auto ms_context = MsContext::GetInstance(); | |||
| #ifdef ENABLE_D | |||
| if (ms_context->backend_policy() == "ge") { | |||
| return ExecDFGraph(info_, args, phase); | |||
| } | |||
| #else | |||
| #endif | |||
| auto ret_val = std::make_shared<py::object>(); | |||
| if (info_.count(phase) != 0 && info_[phase]->func_graph != nullptr) { | |||
| if (IsGraphOutputValueNodeOrParameter(info_[phase]->func_graph->output(), args, ret_val)) { | |||
| return *ret_val; | |||
| } | |||
| } | |||
| if (backend == "ge") { | |||
| if (ms_context->backend_policy() == "ge") { | |||
| // Virtual output constructed for test cases. | |||
| if (!args.empty()) { | |||
| return args[0]; | |||
| } | |||
| return args; | |||
| } | |||
| #endif | |||
| auto iter = info_.find(phase); | |||
| if (iter == info_.end()) { | |||
| MS_LOG(EXCEPTION) << "No executor info. found for phase: " << phase; | |||
| @@ -1420,7 +1423,7 @@ py::object GraphExecutorPy::Run(const py::tuple &args, const py::object &phase_o | |||
| } | |||
| MS_LOG(INFO) << "VM loop size " << vm_loop << ", loopsink size " << vm_loop; | |||
| py::object ret; | |||
| MS_LOG(DEBUG) << "Eval run" << backend; | |||
| MS_LOG(DEBUG) << "Eval run" << ms_context->backend_policy(); | |||
| auto output = execute_info->func_graph->output()->abstract(); | |||
| MS_EXCEPTION_IF_NULL(output); | |||
| for (int64_t i = 0; i < vm_loop; i++) { | |||
| @@ -1429,11 +1432,11 @@ py::object GraphExecutorPy::Run(const py::tuple &args, const py::object &phase_o | |||
| } | |||
| MS_LOG(DEBUG) << "Run end"; | |||
| return ret; | |||
| } | |||
| } // namespace pipeline | |||
| FuncGraphPtr GraphExecutorPy::BuildGraph(const py::dict &init_params, const std::string &phase, | |||
| const py::object &broadcast_params) { | |||
| #if ((defined ENABLE_GE) || (defined ENABLE_D)) | |||
| #ifdef ENABLE_D | |||
| return BuildDFGraph(info_, init_params, phase, broadcast_params); | |||
| #else | |||
| return nullptr; | |||
| @@ -1459,8 +1462,13 @@ void GraphExecutorPy::UpdataParamNodeDefaultInput( | |||
| } | |||
| void GraphExecutorPy::RunInitGraph(const py::dict &init_params, const std::string &phase) const { | |||
| #ifdef ENABLE_GE | |||
| RunGEInitGraph(init_params, phase); | |||
| #ifdef ENABLE_D | |||
| auto ms_context = MsContext::GetInstance(); | |||
| MS_EXCEPTION_IF_NULL(ms_context); | |||
| auto backend = ms_context->backend_policy(); | |||
| if (backend == "ge") { | |||
| RunGEInitGraph(init_params, phase); | |||
| } | |||
| #endif | |||
| } | |||
| @@ -1486,9 +1494,9 @@ bool InitExecDataset(const std::string &queue_name, int64_t iter_num, int64_t ba | |||
| const std::vector<TypePtr> &types, const std::vector<std::vector<int64_t>> &shapes, | |||
| const std::vector<int64_t> &input_indexes, const std::string &phase, bool need_run) { | |||
| std::string name = MsContext::GetInstance()->backend_policy(); | |||
| #ifndef NO_DLIB | |||
| auto ms_context = MsContext::GetInstance(); | |||
| MS_EXCEPTION_IF_NULL(ms_context); | |||
| #ifndef NO_DLIB | |||
| if (!context::IsTsdOpened(ms_context) || !context::IsGeInited(ms_context)) { | |||
| InitPipeline(); | |||
| } | |||
| @@ -1499,15 +1507,13 @@ bool InitExecDataset(const std::string &queue_name, int64_t iter_num, int64_t ba | |||
| if (name == kMsConvert || name == kMsVm) { | |||
| return InitExecDatasetVm(queue_name, iter_num, batch_size, types, shapes, input_indexes, need_run); | |||
| } | |||
| #ifdef ENABLE_GE | |||
| return InitExecDatasetGe(queue_name, iter_num, batch_size, types, shapes, input_indexes, phase); | |||
| #else | |||
| std::string backend = MsContext::GetInstance()->backend_policy(); | |||
| std::string backend = ms_context->backend_policy(); | |||
| #ifdef ENABLE_D | |||
| if (backend == "ge") { | |||
| return true; | |||
| return InitExecDatasetGe(queue_name, iter_num, batch_size, types, shapes, input_indexes, phase); | |||
| } | |||
| #endif | |||
| return false; | |||
| return backend == "ge" ? true : false; | |||
| } | |||
| bool InitExecDatasetVm(const std::string &queue_name, int64_t size, int64_t batch_size, | |||
| @@ -1616,12 +1622,17 @@ std::string GetJitLevel() { | |||
| void ResetOpId() { mindspore::id_generator::reset_id(); } | |||
| void InitHccl() { | |||
| #ifdef ENABLE_GE | |||
| (void)InitPipeline(); | |||
| #else | |||
| mindspore::parse::python_adapter::set_python_env_flag(true); | |||
| auto ms_context = MsContext::GetInstance(); | |||
| MS_EXCEPTION_IF_NULL(ms_context); | |||
| #ifdef ENABLE_D | |||
| auto backend = ms_context->backend_policy(); | |||
| if (backend == "ge") { | |||
| (void)InitPipeline(); | |||
| return; | |||
| } | |||
| #endif | |||
| mindspore::parse::python_adapter::set_python_env_flag(true); | |||
| uint32_t device_id = ms_context->get_param<uint32_t>(MS_CTX_DEVICE_ID); | |||
| #if ENABLE_D | |||
| bool task_sink = true; | |||
| @@ -1656,17 +1667,21 @@ void InitHccl() { | |||
| } else { | |||
| (void)context::OpenTsd(ms_context); | |||
| } | |||
| #endif | |||
| } | |||
| void FinalizeHccl() { | |||
| #ifdef ENABLE_GE | |||
| (void)FinalizeBackend(); | |||
| #else | |||
| #ifdef ENABLE_D | |||
| auto ms_context = MsContext::GetInstance(); | |||
| MS_EXCEPTION_IF_NULL(ms_context); | |||
| auto backend = ms_context->backend_policy(); | |||
| if (backend == "ge") { | |||
| (void)FinalizeBackend(); | |||
| return; | |||
| } | |||
| #endif | |||
| session::ExecutorManager::Instance().Clear(); | |||
| device::DeviceContextManager::GetInstance().ClearDeviceContexts(); | |||
| device::KernelRuntimeManager::Instance().ClearRuntimeResource(); | |||
| #endif | |||
| } | |||
| uint32_t GetHcclRankId() { | |||
| @@ -1688,7 +1703,7 @@ uint32_t GetHcclRankSize() { | |||
| } | |||
| void ExportGraph(const std::string &file_name, const std::string &, const std::string &phase) { | |||
| #if ((defined ENABLE_GE) || (defined ENABLE_D)) | |||
| #ifdef ENABLE_D | |||
| ExportDFGraph(file_name, phase); | |||
| #else | |||
| MS_EXCEPTION(ValueError) << "Only support export file in 'AIR' format with Ascend backend."; | |||
| @@ -1811,14 +1826,23 @@ void ClearResAtexit() { | |||
| opt::python_pass::PyPassManager::GetInstance()->ClearRes(); | |||
| MS_LOG(INFO) << "End clear PyPassManager."; | |||
| #ifdef ENABLE_GE | |||
| transform::DfGraphManager::GetInstance().ClearGraph(); | |||
| transform::OpAdapterMap::get().clear(); | |||
| #ifdef ENABLE_D | |||
| auto ms_context = MsContext::GetInstance(); | |||
| MS_EXCEPTION_IF_NULL(ms_context); | |||
| if (ms_context->backend_policy() == "ge") { | |||
| transform::DfGraphManager::GetInstance().ClearGraph(); | |||
| transform::OpAdapterMap::get().clear(); | |||
| } else { | |||
| MS_LOG(INFO) << "Start clear ConfigManager..."; | |||
| ConfigManager::GetInstance().ResetIterNum(); | |||
| MS_LOG(INFO) << "End clear ConfigManager."; | |||
| } | |||
| #else | |||
| MS_LOG(INFO) << "Start clear ConfigManager..."; | |||
| ConfigManager::GetInstance().ResetIterNum(); | |||
| MS_LOG(INFO) << "End clear ConfigManager."; | |||
| #endif | |||
| ReleaseGeTsd(); | |||
| MS_LOG(INFO) << "Start clear python_adapter..."; | |||
| parse::python_adapter::ResetPythonScope(); | |||
| @@ -1,6 +1,6 @@ | |||
| file(GLOB_RECURSE _PYNATIVE_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "pynative_execute.cc") | |||
| if(ENABLE_GE) | |||
| if(ENABLE_D) | |||
| file(GLOB_RECURSE _GE_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "pynative_execute_ge.cc") | |||
| list(APPEND _PYNATIVE_SRC_LIST ${_GE_SRC_LIST}) | |||
| endif() | |||
| @@ -60,7 +60,7 @@ struct OpExecInfo { | |||
| PrimitivePyPtr py_primitive; | |||
| AbstractBasePtr abstract; | |||
| py::list op_inputs; | |||
| #ifdef ENABLE_GE | |||
| #ifdef ENABLE_D | |||
| py::dict op_attrs; | |||
| #endif | |||
| std::vector<int64_t> inputs_mask; | |||
| @@ -61,7 +61,7 @@ | |||
| #include "runtime/hardware/device_context_manager.h" | |||
| #include "vm/transform.h" | |||
| #ifdef ENABLE_GE | |||
| #ifdef ENABLE_D | |||
| #include "pipeline/pynative/pynative_execute_ge.h" | |||
| #endif | |||
| @@ -2011,10 +2011,16 @@ MsBackendPolicy ForwardExecutor::InitEnv(const OpExecInfoPtr &op_exec_info) { | |||
| MS_EXCEPTION_IF_NULL(op_exec_info); | |||
| MS_LOG(DEBUG) << "RunOp start, op name is: " << op_exec_info->op_name; | |||
| parse::python_adapter::set_python_env_flag(true); | |||
| MsBackendPolicy backend_policy; | |||
| #if (!defined ENABLE_GE) | |||
| auto ms_context = MsContext::GetInstance(); | |||
| MS_EXCEPTION_IF_NULL(ms_context); | |||
| MsBackendPolicy backend_policy = kMsBackendMsPrior; | |||
| #ifdef ENABLE_D | |||
| if (ms_context->backend_policy() == "ge") { | |||
| context::PynativeInitGe(ms_context); | |||
| backend_policy = kMsBackendGeOnly; | |||
| } | |||
| #else | |||
| if (!context::IsTsdOpened(ms_context)) { | |||
| if (!context::OpenTsd(ms_context)) { | |||
| MS_LOG(EXCEPTION) << "Open tsd failed"; | |||
| @@ -2025,11 +2031,6 @@ MsBackendPolicy ForwardExecutor::InitEnv(const OpExecInfoPtr &op_exec_info) { | |||
| } else { | |||
| backend_policy = kMsBackendVmOnly; | |||
| } | |||
| #else | |||
| auto ms_context = MsContext::GetInstance(); | |||
| MS_EXCEPTION_IF_NULL(ms_context); | |||
| context::PynativeInitGe(ms_context); | |||
| backend_policy = kMsBackendGeOnly; | |||
| #endif | |||
| if (kVmOperators.find(op_exec_info->op_name) != kVmOperators.end()) { | |||
| backend_policy = kMsBackendVmOnly; | |||
| @@ -2049,7 +2050,7 @@ py::object ForwardExecutor::RunOpWithBackendPolicy(MsBackendPolicy backend_polic | |||
| break; | |||
| } | |||
| case kMsBackendGePrior: { | |||
| #ifdef ENABLE_GE | |||
| #ifdef ENABLE_D | |||
| // use GE first, use vm when GE fails | |||
| MS_LOG(DEBUG) << "RunOp use GE first backend"; | |||
| result = RunOpInGE(op_exec_info, status); | |||
| @@ -216,7 +216,6 @@ PynativeStatusCode ConvertAttributes(const OpExecInfoPtr &op_exec_info, const st | |||
| MS_LOG(ERROR) << "Failed to AddGraph into graph manager"; | |||
| return PYNATIVE_GRAPH_MANAGER_ERR; | |||
| } | |||
| return PYNATIVE_SUCCESS; | |||
| } | |||
| @@ -1,11 +1,8 @@ | |||
| if(ENABLE_GE OR ENABLE_D OR ENABLE_ACL) | |||
| if(ENABLE_D OR ENABLE_ACL) | |||
| file(GLOB_RECURSE _TRANSFORM_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cc") | |||
| list(REMOVE_ITEM _TRANSFORM_SRC_LIST "graph_ir/op_declare/hcom_ops_declare.cc") | |||
| set_property(SOURCE ${_TRANSFORM_SRC_LIST} PROPERTY COMPILE_DEFINITIONS | |||
| SUBMODULE_ID=mindspore::SubModuleId::SM_GE_ADPT) | |||
| add_library(_mindspore_transform_graph_ir_obj OBJECT ${_TRANSFORM_SRC_LIST}) | |||
| if(NOT ENABLE_GE) | |||
| target_compile_definitions(_mindspore_transform_graph_ir_obj PRIVATE NO_GE_CLIENT) | |||
| endif() | |||
| endif() | |||
| @@ -35,7 +35,7 @@ | |||
| #include "ops/array_ops.h" | |||
| #include "ops/elewise_calculation_ops.h" | |||
| #include "ops/math_ops.h" | |||
| #ifdef ENABLE_GE | |||
| #ifdef ENABLE_D | |||
| #include "ops/save_ops.h" | |||
| #endif | |||
| @@ -422,7 +422,7 @@ DfGraphConvertor &DfGraphConvertor::InitParam(const TensorOrderMap &tensors) { | |||
| return *this; | |||
| } | |||
| #if (defined ENABLE_GE) | |||
| #if (defined ENABLE_D) | |||
| void DfGraphConvertor::BuildSaveCheckpointGraph() { | |||
| std::vector<Operator> graph_inputs; | |||
| ge::op::Save save_op("save_parms"); | |||
| @@ -545,9 +545,13 @@ DfGraphConvertor &DfGraphConvertor::GenerateCheckpointGraph() { | |||
| MS_LOG(ERROR) << "Invalid AnfGraph in GenerateCheckpointGraph"; | |||
| return *this; | |||
| } | |||
| #if (defined ENABLE_GE) | |||
| BuildSaveCheckpointGraph(); | |||
| // Restoring from checkpoint file is done by pyfront, not in graph now. | |||
| #ifdef ENABLE_D | |||
| auto ms_context = MsContext::GetInstance(); | |||
| MS_EXCEPTION_IF_NULL(ms_context); | |||
| if (ms_context->backend_policy() == "ge") { | |||
| BuildSaveCheckpointGraph(); | |||
| // Restoring from checkpoint file is done by pyfront, not in graph now. | |||
| } | |||
| #endif | |||
| return *this; | |||
| } | |||
| @@ -566,9 +570,13 @@ DfGraphConvertor &DfGraphConvertor::ConvertAllNode() { | |||
| compute_sout_ << "digraph {" << endl; | |||
| init_sout_.clear(); | |||
| init_sout_ << "digraph {" << endl; | |||
| #if (defined ENABLE_GE) | |||
| checkpoint_sout_.clear(); | |||
| checkpoint_sout_ << "digraph {" << endl; | |||
| #ifdef ENABLE_D | |||
| auto ms_context = MsContext::GetInstance(); | |||
| MS_EXCEPTION_IF_NULL(ms_context); | |||
| if (ms_context->backend_policy() == "ge") { | |||
| checkpoint_sout_.clear(); | |||
| checkpoint_sout_ << "digraph {" << endl; | |||
| } | |||
| #endif | |||
| restore_checkpoint_sout_.clear(); | |||
| restore_checkpoint_sout_ << "digraph {" << endl; | |||
| @@ -30,6 +30,7 @@ | |||
| #include <sstream> | |||
| #include "utils/hash_map.h" | |||
| #include "utils/ms_context.h" | |||
| #include "ir/anf.h" | |||
| #include "ir/func_graph.h" | |||
| #include "transform/graph_ir/util.h" | |||
| @@ -55,10 +56,14 @@ class DfGraphConvertor { | |||
| explicit DfGraphConvertor(const AnfGraphPtr &anf_graph) : anf_graph_(anf_graph) { | |||
| MS_EXCEPTION_IF_NULL(anf_graph); | |||
| df_graph_ = std::make_shared<DfGraph>(anf_graph_->ToString()); | |||
| #if (!defined ENABLE_GE) || (defined ENABLE_INFER) | |||
| training_ = anf_graph->has_flag("training"); | |||
| #if (defined ENABLE_D) && (!defined ENABLE_INFER) | |||
| auto ms_context = MsContext::GetInstance(); | |||
| MS_EXCEPTION_IF_NULL(ms_context); | |||
| if (ms_context->backend_policy() == "ge") { | |||
| training_ = ENABLE_TRAIN; | |||
| } | |||
| #else | |||
| training_ = ENABLE_TRAIN; | |||
| training_ = anf_graph->has_flag("training"); | |||
| #endif | |||
| distribute_ = anf_graph->has_flag("broadcast_flag"); | |||
| if (anf_graph->has_flag("broadcast_flag")) { | |||
| @@ -27,34 +27,34 @@ | |||
| #include "sys/time.h" | |||
| #include "utils/utils.h" | |||
| #include "utils/callbacks.h" | |||
| #ifdef ENABLE_GE | |||
| #ifdef ENABLE_D | |||
| #include "utils/callbacks_ge.h" | |||
| #endif | |||
| #include "utils/ms_context.h" | |||
| #ifdef NO_GE_CLIENT | |||
| namespace ge { | |||
| Session::Session(const std::map<std::string, std::string> &options) { | |||
| if (options.empty()) { | |||
| MS_LOG(ERROR) << "session input options is empty"; | |||
| } | |||
| sessionId_ = 0; | |||
| } | |||
| Session::~Session() {} | |||
| } // namespace ge | |||
| #endif | |||
| #ifndef ENABLE_LITE_ASCEND | |||
| namespace py = pybind11; | |||
| #endif | |||
| namespace mindspore { | |||
| namespace transform { | |||
| std::shared_ptr<ge::Session> GraphRunner::NewSession(const SessionOptions &sess_options) { | |||
| std::shared_ptr<ge::Session> ret = std::make_shared<ge::Session>(sess_options); | |||
| if (ret == nullptr) { | |||
| MS_LOG(ERROR) << "Create GE session failed"; | |||
| return nullptr; | |||
| #ifdef ENABLE_D | |||
| std::shared_ptr<ge::Session> ret; | |||
| auto ms_context = MsContext::GetInstance(); | |||
| MS_EXCEPTION_IF_NULL(ms_context); | |||
| if (ms_context->backend_policy() == "ge") { | |||
| ret = std::make_shared<ge::Session>(sess_options); | |||
| if (ret == nullptr) { | |||
| MS_LOG(EXCEPTION) << "Create GE session failed!"; | |||
| return nullptr; | |||
| } | |||
| MS_LOG(INFO) << "Create new GE session success!"; | |||
| return ret; | |||
| } | |||
| MS_LOG(INFO) << "Create new GE session success"; | |||
| return ret; | |||
| #endif | |||
| MS_LOG(WARNING) << "no GE client, return nullptr!"; | |||
| return nullptr; | |||
| } | |||
| GraphRunner::GraphRunner(const GraphRunnerOptions &options) | |||
| @@ -68,31 +68,36 @@ GraphRunner::GraphRunner(const GraphRunnerOptions &options) | |||
| } else { | |||
| sess_ = NewSession(options.options); | |||
| if (sess_ == nullptr) { | |||
| MS_LOG(EXCEPTION) << "GraphRunner initialize failed!!"; | |||
| return; | |||
| MS_LOG(WARNING) << "graph runner sess_ is nullptr!"; | |||
| } | |||
| } | |||
| #if (defined ENABLE_GE) | |||
| // register the callback function | |||
| if (sess_->RegisterCallBackFunc(callbacks::kCheckPoint, callbacks::CheckpointSaveCallback) != ge::GRAPH_SUCCESS) { | |||
| MS_LOG(EXCEPTION) << "register callback failed!"; | |||
| return; | |||
| } | |||
| auto ms_context = MsContext::GetInstance(); | |||
| MS_EXCEPTION_IF_NULL(ms_context); | |||
| #ifdef ENABLE_D | |||
| if (ms_context->backend_policy() == "ge") { | |||
| // register the callback function | |||
| if (sess_->RegisterCallBackFunc(callbacks::kCheckPoint, callbacks::CheckpointSaveCallback) != ge::GRAPH_SUCCESS) { | |||
| MS_LOG(EXCEPTION) << "register callback failed!"; | |||
| return; | |||
| } | |||
| if (sess_->RegisterCallBackFunc(callbacks::kSummary, callbacks::SummarySaveCallback) != ge::GRAPH_SUCCESS) { | |||
| MS_LOG(EXCEPTION) << "register summary callback failed!"; | |||
| return; | |||
| if (sess_->RegisterCallBackFunc(callbacks::kSummary, callbacks::SummarySaveCallback) != ge::GRAPH_SUCCESS) { | |||
| MS_LOG(EXCEPTION) << "register summary callback failed!"; | |||
| return; | |||
| } | |||
| } | |||
| #endif | |||
| std::vector<DfGraphWrapperPtr> wrappers = graph_manager_.GetAllGraphs(); | |||
| if (wrappers.empty()) { | |||
| MS_LOG(INFO) << "The GraphManager is empty!!"; | |||
| return; | |||
| } | |||
| #ifdef ENABLE_D | |||
| if (ms_context->backend_policy() != "ge") { | |||
| return; | |||
| } | |||
| #ifdef ENABLE_GE | |||
| for (auto &it : wrappers) { | |||
| std::set<string> saved_graph = graph_manager_.GetSavedGraphs(); | |||
| auto iter_find = saved_graph.find(std::to_string(it->id_)); | |||
| @@ -137,16 +142,19 @@ Status GraphRunner::RunGraph(const RunOptions &options, const std::vector<GeTens | |||
| struct timeval start_time, end_time; | |||
| (void)gettimeofday(&start_time, nullptr); | |||
| #ifdef ENABLE_GE | |||
| if (sess_ == nullptr) { | |||
| MS_LOG(ERROR) << "The GE session is null, can't run the graph!"; | |||
| return Status::FAILED; | |||
| } | |||
| ge::Status ret = sess_->RunGraph(wrap_ptr->id_, ge_inputs, ge_outputs); | |||
| if (ret != ge::GRAPH_SUCCESS) { | |||
| MS_LOG(ERROR) << "Call GE RunGraph Failed, ret is: " << ret; | |||
| return Status::FAILED; | |||
| #ifdef ENABLE_D | |||
| auto ms_context = MsContext::GetInstance(); | |||
| MS_EXCEPTION_IF_NULL(ms_context); | |||
| if (ms_context->backend_policy() == "ge") { | |||
| if (sess_ == nullptr) { | |||
| MS_LOG(ERROR) << "The GE session is null, can't run the graph!"; | |||
| return Status::FAILED; | |||
| } | |||
| ge::Status ret = sess_->RunGraph(wrap_ptr->id_, ge_inputs, ge_outputs); | |||
| if (ret != ge::GRAPH_SUCCESS) { | |||
| MS_LOG(ERROR) << "Call GE RunGraph Failed, ret is: " << ret; | |||
| return Status::FAILED; | |||
| } | |||
| } | |||
| #else | |||
| ge_outputs.swap(ge_inputs); | |||
| @@ -29,7 +29,7 @@ | |||
| #include "ir/primitive.h" | |||
| #include "ir/value.h" | |||
| #include "transform/graph_ir/types.h" | |||
| #ifdef ENABLE_GE | |||
| #ifdef ENABLE_D | |||
| #ifdef OPEN_SOURCE | |||
| #include "graph/types.h" | |||
| #endif | |||
| @@ -23,7 +23,7 @@ DYN_INPUT_MAP(Print) = {{1, DYN_INPUT_DESC(x)}}; | |||
| ATTR_MAP(Print) = EMPTY_ATTR_MAP; | |||
| REG_ADPT_DESC(Print, kNamePrint, ADPT_DESC(Print)) | |||
| #ifdef ENABLE_GE | |||
| #ifdef ENABLE_D | |||
| INPUT_MAP(Assert) = {{1, INPUT_DESC(input_condition)}}; | |||
| DYN_INPUT_MAP(Assert) = {{2, DYN_INPUT_DESC(input_data)}}; | |||
| ATTR_MAP(Assert) = {{"summarize", ATTR_DESC(summarize, AnyTraits<int64_t>())}}; | |||
| @@ -26,7 +26,7 @@ namespace mindspore::transform { | |||
| DECLARE_OP_ADAPTER(Print) | |||
| DECLARE_OP_USE_DYN_INPUT(Print) | |||
| #ifdef ENABLE_GE | |||
| #ifdef ENABLE_D | |||
| DECLARE_OP_ADAPTER(Assert) | |||
| DECLARE_OP_USE_DYN_INPUT(Assert) | |||
| #endif | |||
| @@ -55,11 +55,8 @@ INPUT_MAP(ApplyAdamD) = {{1, INPUT_DESC(var)}, {2, INPUT_DESC(m)}, | |||
| ATTR_MAP(ApplyAdamD) = {{"use_locking", ATTR_DESC(use_locking, AnyTraits<bool>())}, | |||
| {"use_nesterov", ATTR_DESC(use_nesterov, AnyTraits<bool>())}}; | |||
| OUTPUT_MAP(ApplyAdamD) = {{0, OUTPUT_DESC(var)}, {1, OUTPUT_DESC(m)}, {2, OUTPUT_DESC(v)}}; | |||
| #ifdef ENABLE_GE | |||
| REG_ADPT_DESC(ApplyAdamD, kNameApplyAdam, ADPT_DESC(ApplyAdamD)) | |||
| #else | |||
| REG_ADPT_DESC(ApplyAdam, kNameApplyAdam, ADPT_DESC(ApplyAdam)) | |||
| #endif | |||
| // ApplyAdagradD | |||
| INPUT_MAP(ApplyAdagradD) = {{1, INPUT_DESC(var)}, {2, INPUT_DESC(accum)}, {3, INPUT_DESC(lr)}, {4, INPUT_DESC(grad)}}; | |||
| @@ -4,10 +4,6 @@ if(CMAKE_SYSTEM_NAME MATCHES "Windows") | |||
| list(REMOVE_ITEM _UTILS_SRC_LIST ${_UTILS_SIGNAL_SRC_FILES}) | |||
| endif() | |||
| if(NOT ENABLE_GE) | |||
| file(GLOB_RECURSE _UTILS_GE_SRC_FILES ./callbacks_ge.cc) | |||
| list(REMOVE_ITEM _UTILS_SRC_LIST ${_UTILS_GE_SRC_FILES}) | |||
| endif() | |||
| if(NOT ENABLE_D AND NOT ENABLE_TESTCASES) | |||
| file(GLOB_RECURSE _UTILS_D_SRC_FILES ./runtime_error_codes.cc) | |||
| list(REMOVE_ITEM _UTILS_SRC_LIST ${_UTILS_D_SRC_FILES}) | |||
| @@ -14,6 +14,7 @@ | |||
| * limitations under the License. | |||
| */ | |||
| #ifdef ENABLE_D | |||
| #include "utils/callbacks_ge.h" | |||
| #include "pybind11/pybind11.h" | |||
| #include "ir/param_info.h" | |||
| @@ -186,3 +187,4 @@ uint32_t MS_EXPORT SummarySaveCallback(uint32_t graph_id, const std::map<std::st | |||
| } | |||
| } // namespace callbacks | |||
| } // namespace mindspore | |||
| #endif | |||
| @@ -16,6 +16,7 @@ | |||
| #ifndef MINDSPORE_CCSRC_UTILS_CALLBACKS_GE_H_ | |||
| #define MINDSPORE_CCSRC_UTILS_CALLBACKS_GE_H_ | |||
| #ifdef ENABLE_D | |||
| #include <map> | |||
| #include <vector> | |||
| #include <string> | |||
| @@ -32,5 +33,5 @@ uint32_t CheckpointSaveCallback(uint32_t, const std::map<std::string, ge::Tensor | |||
| uint32_t SummarySaveCallback(uint32_t, const std::map<std::string, ge::Tensor> &); | |||
| } // namespace callbacks | |||
| } // namespace mindspore | |||
| #endif | |||
| #endif // MINDSPORE_CCSRC_UTILS_CALLBACKS_GE_H_ | |||
| @@ -28,7 +28,7 @@ | |||
| #include "toolchain/plog.h" | |||
| #include "common/util/error_manager/error_manager.h" | |||
| #endif | |||
| #ifdef ENABLE_GE | |||
| #ifdef ENABLE_D | |||
| #include "transform/graph_ir/df_graph_manager.h" | |||
| #endif | |||
| #include "profiler/device/profiling.h" | |||
| @@ -37,7 +37,7 @@ namespace py = pybind11; | |||
| namespace mindspore { | |||
| namespace context { | |||
| #ifdef ENABLE_GE | |||
| #ifdef ENABLE_D | |||
| using mindspore::transform::DfGraphManager; | |||
| #endif | |||
| @@ -157,7 +157,10 @@ void GetGeOptions(const std::shared_ptr<MsContext> &ms_context_ptr, std::map<std | |||
| if (ms_context_ptr == nullptr) { | |||
| MS_LOG(EXCEPTION) << "nullptr"; | |||
| } | |||
| #ifdef ENABLE_GE | |||
| if (ms_context_ptr->backend_policy() != "ge") { | |||
| return; | |||
| } | |||
| #ifdef ENABLE_D | |||
| (*ge_options)["device_id"] = "0"; | |||
| (*ge_options)["ge.exec.enableDump"] = std::to_string(ms_context_ptr->get_param<bool>(MS_CTX_ENABLE_DUMP)); | |||
| (*ge_options)["ge.exec.dumpPath"] = ms_context_ptr->get_param<std::string>(MS_CTX_SAVE_DUMP_PATH); | |||
| @@ -275,7 +278,10 @@ bool InitGe(const std::shared_ptr<MsContext> &ms_context_ptr) { | |||
| if (ms_context_ptr == nullptr) { | |||
| MS_LOG(EXCEPTION) << "nullptr"; | |||
| } | |||
| #ifdef ENABLE_GE | |||
| #ifdef ENABLE_D | |||
| if (ms_context_ptr->backend_policy() != "ge") { | |||
| return true; | |||
| } | |||
| if (ms_context_ptr->get_param<bool>(MS_CTX_IS_PYNATIVE_GE_INIT)) { | |||
| return true; | |||
| } | |||
| @@ -319,7 +325,10 @@ bool FinalizeGe(const std::shared_ptr<MsContext> &ms_context_ptr, bool force) { | |||
| if (ms_context_ptr == nullptr) { | |||
| MS_LOG(EXCEPTION) << "nullptr"; | |||
| } | |||
| #ifdef ENABLE_GE | |||
| #ifdef ENABLE_D | |||
| if (ms_context_ptr->backend_policy() != "ge") { | |||
| return true; | |||
| } | |||
| if (ms_context_ptr->get_param<uint32_t>(MS_CTX_GE_REF) == 0) { | |||
| return true; | |||
| } | |||
| @@ -365,9 +374,7 @@ bool IsGeInited(const std::shared_ptr<MsContext> &ms_context_ptr) { | |||
| struct DeviceTypeSetRegister { | |||
| DeviceTypeSetRegister() { | |||
| MsContext::device_type_seter([](std::shared_ptr<MsContext> &device_type_seter) { | |||
| #ifdef ENABLE_GE | |||
| device_type_seter.reset(new (std::nothrow) MsContext("ge", kAscendDevice)); | |||
| #elif defined(ENABLE_D) | |||
| #if defined(ENABLE_D) | |||
| device_type_seter.reset(new (std::nothrow) MsContext("ms", kAscendDevice)); | |||
| #elif defined(ENABLE_GPU) | |||
| device_type_seter.reset(new (std::nothrow) MsContext("ms", kGPUDevice)); | |||
| @@ -35,7 +35,7 @@ | |||
| #include "runtime/hardware/device_context_manager.h" | |||
| #include "runtime/framework/graph_compiler.h" | |||
| #include "utils/scoped_long_running.h" | |||
| #ifdef ENABLE_GE | |||
| #ifdef ENABLE_D | |||
| #include "utils/callbacks_ge.h" | |||
| #endif | |||
| #ifdef ENABLE_DEBUGGER | |||
| @@ -28,7 +28,7 @@ | |||
| #include "utils/ms_context.h" | |||
| #include "ps/ps_context.h" | |||
| #include "utils/anf_utils.h" | |||
| #ifdef ENABLE_GE | |||
| #ifdef ENABLE_D | |||
| #include "transform/graph_ir/convert.h" | |||
| #endif | |||
| namespace mindspore { | |||
| @@ -652,7 +652,7 @@ bool GraphPartition::IsCut(const AnfNodePtr &node) { | |||
| return true; | |||
| } | |||
| } | |||
| #ifdef ENABLE_GE | |||
| #ifdef ENABLE_D | |||
| if (backend_name_ == kGeVm) { | |||
| auto name = GetCNodeFuncName(cnode); | |||
| auto adpt = transform::DfGraphConvertor::FindAdapter(name); | |||
| @@ -25,7 +25,7 @@ | |||
| #include <vector> | |||
| #include "abstract/abstract_value.h" | |||
| #ifdef ENABLE_GE | |||
| #ifdef ENABLE_D | |||
| #include "transform/graph_ir/convert.h" | |||
| #endif | |||
| #include "ir/graph_utils.h" | |||
| @@ -330,7 +330,8 @@ class _Context: | |||
| 'max_device_memory': set_max_device_memory, | |||
| 'mempool_block_size': set_mempool_block_size, | |||
| 'print_file_path': set_print_file_path, | |||
| 'env_config_path': set_env_config_path | |||
| 'env_config_path': set_env_config_path, | |||
| 'backend_policy': set_backend_policy | |||
| } | |||
| @property | |||
| @@ -607,7 +608,8 @@ def _check_target_specific_cfgs(device, arg_key): | |||
| enable_graph_kernel=bool, reserve_class_name_in_scope=bool, check_bprop=bool, | |||
| max_device_memory=str, print_file_path=str, enable_sparse=bool, max_call_depth=int, | |||
| env_config_path=str, graph_kernel_flags=str, save_compile_cache=bool, | |||
| load_compile_cache=bool, grad_for_scalar=bool, pynative_synchronize=bool, mempool_block_size=str) | |||
| load_compile_cache=bool, grad_for_scalar=bool, pynative_synchronize=bool, mempool_block_size=str, | |||
| backend_policy=str) | |||
| def set_context(**kwargs): | |||
| """ | |||
| Set context for running environment. | |||
| @@ -678,6 +680,8 @@ def set_context(**kwargs): | |||
| | | enable_compile_cache | CPU/GPU/Ascend | | |||
| | +------------------------------+----------------------------+ | |||
| | | compile_cache_path | CPU/GPU/Ascend | | |||
| | +------------------------------+----------------------------+ | |||
| | | backend_policy | Ascend | | |||
| +-------------------------+------------------------------+----------------------------+ | |||
| Args: | |||
| @@ -815,6 +819,9 @@ def set_context(**kwargs): | |||
| If the specified directory does not exist, the system will automatically create the directory. | |||
| The cache will be saved to the directory of `compile_cache_path/rank_${rank_id}/`. The `rank_id` is | |||
| the ID of the current device in the cluster. | |||
| backend_policy (str): Used to choose a backend. ("ge", "vm" or "ms"). | |||
| Through context.set_context(backend_policy="ms") | |||
| Default: The value must be in ['ge', 'vm', 'ms']. | |||
| Raises: | |||
| ValueError: If input key is not an attribute in context. | |||
| @@ -25,7 +25,6 @@ from mindspore import log as logger | |||
| from ..version import __version__ | |||
| from ..default_config import __package_name__ | |||
| class EnvChecker(metaclass=ABCMeta): | |||
| """basic class for environment check""" | |||
| @@ -389,9 +388,6 @@ class AscendEnvChecker(EnvChecker): | |||
| def check_version_and_env_config(): | |||
| """check version and env config""" | |||
| if os.getenv("MS_DEV_CLOSE_VERSION_CHECK") == "ON": | |||
| return | |||
| os.environ["MS_DEV_CLOSE_VERSION_CHECK"] = "ON" | |||
| if __package_name__.lower() == "mindspore-ascend": | |||
| env_checker = AscendEnvChecker() | |||
| # Note: pre-load libgomp.so to solve error like "cannot allocate memory in statis TLS block" | |||
| @@ -407,6 +403,9 @@ def check_version_and_env_config(): | |||
| else: | |||
| logger.info(f"Package version {__package_name__} does not need to check any environment variable, skipping.") | |||
| return | |||
| if os.getenv("MS_DEV_CLOSE_VERSION_CHECK") == "ON": | |||
| return | |||
| os.environ["MS_DEV_CLOSE_VERSION_CHECK"] = "ON" | |||
| try: | |||
| # check version of ascend site or cuda | |||
| @@ -18,7 +18,7 @@ set -e | |||
| build_option_proc_b() | |||
| { | |||
| if [[ "X$OPTARG" != "Xge" && "X$OPTARG" != "Xcpu" ]]; then | |||
| if [ "X$OPTARG" != "Xcpu" ]; then | |||
| echo "Invalid value ${OPTARG} for option -b" | |||
| usage | |||
| exit 1 | |||
| @@ -255,7 +255,7 @@ if(MINDSPORE_PROTO_LIST) | |||
| set_target_properties(proto_input_ut PROPERTIES COMPILE_FLAGS "-Wno-unused-variable") | |||
| endif() | |||
| if(ENABLE_GE) | |||
| if(ENABLE_D) | |||
| if(ENABLE_TRAIN) | |||
| target_link_libraries(ut_tests PRIVATE graph ge_runner) | |||
| else() | |||
| @@ -64,8 +64,6 @@ TEST_F(TestConvert, TestConstruct) { | |||
| ASSERT_NE(converter.ErrCode(), SUCCESS); | |||
| } | |||
| #if (!defined ENABLE_GE) | |||
| namespace { | |||
| bool MakeDfGraph(PrimitivePtr prim, unsigned int nparam) { | |||
| @@ -599,8 +597,6 @@ TEST_F(TestConvert, TestNPUClearFloatStatusOps) { | |||
| ASSERT_TRUE(ret); | |||
| } | |||
| #endif | |||
| TEST_F(TestConvert, TestAddOps) { | |||
| auto prim = std::make_shared<Primitive>("Add"); | |||
| auto func_graph = MakeFuncGraph(prim, 2); | |||
| @@ -131,8 +131,6 @@ TEST_F(TestGraphRunner, TestGeTensorConstructor) { | |||
| assert(memcmp(ge_tensor_data, tensor_tuple_array.data(), sizeof(ge_tensor_data)) == 0); | |||
| } | |||
| #if (!defined ENABLE_GE) | |||
| TEST_F(TestGraphRunner, TestRunGraphException) { | |||
| DfGraphManager &graph_manager = DfGraphManager::GetInstance(); | |||
| graph_manager.ClearGraph(); | |||
| @@ -244,7 +242,6 @@ TEST_F(TestGraphRunner, TestAPI) { | |||
| PrintMeTensor(&(*tensor)); | |||
| } | |||
| } | |||
| #endif | |||
| } // namespace transform | |||
| } // namespace mindspore | |||
| @@ -33,7 +33,6 @@ class TestOpAdapter : public UT::Common { | |||
| TestOpAdapter() {} | |||
| }; | |||
| #if (!defined ENABLE_GE) | |||
| #if 0 | |||
| // fix conv2d ut | |||
| TEST_F(TestOpAdapter, TestSpecilization_Conv2D) { | |||
| @@ -94,6 +93,5 @@ TEST_F(TestOpAdapter, TestSetAttr_Conv2d_Primitive) { | |||
| delete adpt; | |||
| } | |||
| #endif | |||
| #endif | |||
| } // namespace transform | |||
| } // namespace mindspore | |||
| @@ -22,7 +22,7 @@ | |||
| #include "pipeline/jit/parse/python_adapter.h" | |||
| #include "transform/graph_ir/df_graph_manager.h" | |||
| #include "debug/draw.h" | |||
| #ifdef ENABLE_GE | |||
| #ifdef ENABLE_D | |||
| #include "utils/callbacks_ge.h" | |||
| #endif | |||
| @@ -20,17 +20,11 @@ | |||
| import os | |||
| import pytest | |||
| def is_enable_ge(): | |||
| val = os.getenv("ENABLE_GE", "False") | |||
| if val in ('ON', 'on', 'TRUE', 'True', 'true'): | |||
| return True | |||
| return False | |||
| non_graph_engine = pytest.mark.skipif(is_enable_ge(), reason="Not support running on GE environment") | |||
| def is_enable_gpu(): | |||
| val = os.getenv("ENABLE_GPU", "False") | |||
| if val in ('ON', 'on', 'TRUE', 'True', 'true'): | |||