Browse Source

Pre Merge pull request !1635 from lichun/master

pull/1635/MERGE
lichun Gitee 4 years ago
parent
commit
2bd81070c4
3 changed files with 17 additions and 3 deletions
  1. +0
    -3
      ge/hybrid/node_executor/aicore/aicore_node_executor.cc
  2. +15
    -0
      ge/hybrid/node_executor/aicore/aicore_task_compiler.cc
  3. +2
    -0
      ge/hybrid/node_executor/aicore/aicore_task_compiler.h

+ 0
- 3
ge/hybrid/node_executor/aicore/aicore_node_executor.cc View File

@@ -41,9 +41,6 @@ AiCoreNodeTask::AiCoreNodeTask(std::vector<std::unique_ptr<AiCoreOpTask>> &&task

Status AiCoreNodeExecutor::Initialize() {
compiler_ = TaskCompilerFactory::GetInstance().GetTaskCompiler();
if (compiler_ != nullptr) {
GE_CHK_STATUS_RET(compiler_->Initialize(), "[Init][TaskCompiler] failed.");
}
return SUCCESS;
}



+ 15
- 0
ge/hybrid/node_executor/aicore/aicore_task_compiler.cc View File

@@ -29,6 +29,7 @@ uint64_t kFakeSize = 0x10000000UL;
REGISTER_TASK_COMPILER(AiCoreTaskCompiler);
}
std::mutex AiCoreTaskCompiler::mu_;
std::mutex AiCoreTaskCompiler::init_mu_;

Status AiCoreTaskCompiler::Initialize() {
auto ge_lib = GELib::GetInstance();
@@ -41,6 +42,10 @@ Status AiCoreTaskCompiler::Initialize() {
auto &kernel_manager = ge_lib->OpsKernelManagerObj();
aic_kernel_store_ = kernel_manager.GetOpsKernelInfoStore("AIcoreEngine");
GE_CHECK_NOTNULL(aic_kernel_store_);
std::lock_guard<std::mutex> lk(init_mu_);
{
is_initialized_ = true;
}
return SUCCESS;
}

@@ -57,6 +62,16 @@ Status AiCoreTaskCompiler::DoCompileOp(const NodePtr &node) const {
}

Status AiCoreTaskCompiler::CompileOp(const NodePtr &node, std::vector<domi::TaskDef> &tasks) {
if (!is_initialized_) {
Status ret;
ret = Initialize();
if (ret != SUCCESS) {
GELOGE(FAILED, "[Check][State][%s] Offline inference not support online compile.", ori_node_name.c_str());
REPORT_INNER_ERROR("E19999", "[%s] Offline inference not support online compile.", ori_node_name.c_str());
return ret;
}
}

GE_CHECK_NOTNULL(node);
GELOGI("AiCoreTaskCompiler(%s) CompileOp Start.", node->GetName().c_str());



+ 2
- 0
ge/hybrid/node_executor/aicore/aicore_task_compiler.h View File

@@ -34,7 +34,9 @@ class AiCoreTaskCompiler : public TaskCompiler {
Status DoCompileOp(const NodePtr &node) const;
Status DoGenerateTask(const Node &node, std::vector<domi::TaskDef> &tasks);
OpsKernelInfoStorePtr aic_kernel_store_;
bool is_initialized_ = false;
static std::mutex mu_;
static std::mutex init_mu_;
};
} // namespace hybrid
} // namespace ge


Loading…
Cancel
Save