| @@ -315,7 +315,7 @@ TEST_F(UtestSingleOpModel, BuildTaskList) { | |||||
| ASSERT_EQ(mem_task.LaunchKernel(0), SUCCESS); | ASSERT_EQ(mem_task.LaunchKernel(0), SUCCESS); | ||||
| } | } | ||||
| TEST_F(UtestSingleOpModel, build_dynamic_task) { | |||||
| TEST_F(UtestSingleOpModel, build_dynamic_task01) { | |||||
| ComputeGraphPtr graph = make_shared<ComputeGraph>("single_op"); | ComputeGraphPtr graph = make_shared<ComputeGraph>("single_op"); | ||||
| GeModelPtr ge_model = make_shared<GeModel>(); | GeModelPtr ge_model = make_shared<GeModel>(); | ||||
| ge_model->SetGraph(GraphUtils::CreateGraphFromComputeGraph(graph)); | ge_model->SetGraph(GraphUtils::CreateGraphFromComputeGraph(graph)); | ||||
| @@ -366,3 +366,35 @@ TEST_F(UtestSingleOpModel, build_dynamic_task) { | |||||
| op_desc->SetOpKernelLibName(kEngineNameAiCpu); | op_desc->SetOpKernelLibName(kEngineNameAiCpu); | ||||
| model.BuildTaskListForDynamicOp(res, single_op); | model.BuildTaskListForDynamicOp(res, single_op); | ||||
| } | } | ||||
| TEST_F(UtestSingleOpModel, build_dynamic_task02) { | |||||
| ComputeGraphPtr graph = make_shared<ComputeGraph>("single_op"); | |||||
| GeModelPtr ge_model = make_shared<GeModel>(); | |||||
| ge_model->SetGraph(GraphUtils::CreateGraphFromComputeGraph(graph)); | |||||
| shared_ptr<domi::ModelTaskDef> model_task_def = make_shared<domi::ModelTaskDef>(); | |||||
| ge_model->SetModelTaskDef(model_task_def); | |||||
| domi::TaskDef *task_def = model_task_def->add_task(); | |||||
| task_def->set_type(RT_MODEL_TASK_KERNEL); | |||||
| domi::KernelDef *kernel_def = task_def->mutable_kernel(); | |||||
| domi::KernelContext *context = kernel_def->mutable_context(); | |||||
| context->set_kernel_type(6); // ccKernelType::AI_CPU | |||||
| string model_data_str = "dynamic_model"; | |||||
| SingleOpModel model("model", model_data_str.c_str(), model_data_str.size()); | |||||
| std::mutex stream_mu; | |||||
| rtStream_t stream = nullptr; | |||||
| rtStreamCreate(&stream, 0); | |||||
| DynamicSingleOp single_op(0, &stream_mu, stream); | |||||
| model.model_helper_.model_ = ge_model; | |||||
| auto op_desc = std::make_shared<ge::OpDesc>("add", "Add"); | |||||
| AttrUtils::SetStr(op_desc, ge::ATTR_NAME_UNKNOWN_SHAPE_TYPE, ge::DEPEND_COMPUTE); | |||||
| NodePtr node = graph->AddNode(op_desc); | |||||
| model.op_list_[0] = node; | |||||
| StreamResource *res = new (std::nothrow) StreamResource(1); | |||||
| ASSERT_EQ(model.ParseTasks(), SUCCESS); | |||||
| model.node_tasks_[node] = { *task_def2 }; | |||||
| op_desc->SetOpKernelLibName(kEngineNameAiCpu); | |||||
| model.BuildTaskListForDynamicOp(res, single_op); | |||||
| } | |||||