| @@ -931,12 +931,22 @@ Status GeExecutor::GetMemAndWeightSize(const void *model_data, size_t model_size | |||||
| Status GeExecutor::LoadSingleOp(const std::string &model_name, const ge::ModelData &modelData, void *stream, | Status GeExecutor::LoadSingleOp(const std::string &model_name, const ge::ModelData &modelData, void *stream, | ||||
| SingleOp **single_op) { | SingleOp **single_op) { | ||||
| return SingleOpManager::GetInstance().GetOpFromModel(model_name, modelData, stream, single_op); | |||||
| return SingleOpManager::GetInstance().GetOpFromModel(model_name, modelData, stream, single_op, 0); | |||||
| } | |||||
| Status GeExecutor::LoadSingleOp(const std::string &model_name, const ge::ModelData &modelData, void *stream, | |||||
| SingleOp **single_op, const uint64_t model_id) { | |||||
| return SingleOpManager::GetInstance().GetOpFromModel(model_name, modelData, stream, single_op, model_id); | |||||
| } | } | ||||
| Status GeExecutor::LoadDynamicSingleOp(const std::string &model_name, const ge::ModelData &modelData, void *stream, | Status GeExecutor::LoadDynamicSingleOp(const std::string &model_name, const ge::ModelData &modelData, void *stream, | ||||
| DynamicSingleOp **single_op) { | DynamicSingleOp **single_op) { | ||||
| return SingleOpManager::GetInstance().GetDynamicOpFromModel(model_name, modelData, stream, single_op); | |||||
| return SingleOpManager::GetInstance().GetDynamicOpFromModel(model_name, modelData, stream, single_op, 0); | |||||
| } | |||||
| Status GeExecutor::LoadDynamicSingleOp(const std::string &model_name, const ge::ModelData &modelData, void *stream, | |||||
| DynamicSingleOp **single_op, const uint64_t model_id) { | |||||
| return SingleOpManager::GetInstance().GetDynamicOpFromModel(model_name, modelData, stream, single_op, model_id); | |||||
| } | } | ||||
| Status GeExecutor::ExecuteAsync(SingleOp *executor, const std::vector<DataBuffer> &inputs, | Status GeExecutor::ExecuteAsync(SingleOp *executor, const std::vector<DataBuffer> &inputs, | ||||
| @@ -30,8 +30,9 @@ FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY SingleOpManager::~SingleOpManag | |||||
| FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY Status SingleOpManager::GetOpFromModel(const std::string &model_name, | FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY Status SingleOpManager::GetOpFromModel(const std::string &model_name, | ||||
| const ModelData &model_data, | const ModelData &model_data, | ||||
| void *stream, | void *stream, | ||||
| SingleOp **single_op) { | |||||
| GELOGI("GetOpFromModel in. model name = %s", model_name.c_str()); | |||||
| SingleOp **single_op, | |||||
| const uint64_t model_id) { | |||||
| GELOGI("GetOpFromModel in. model name = %s, model id = %lu", model_name.c_str(), model_id); | |||||
| if (single_op == nullptr) { | if (single_op == nullptr) { | ||||
| GELOGE(ACL_ERROR_GE_INTERNAL_ERROR, "single op is null"); | GELOGE(ACL_ERROR_GE_INTERNAL_ERROR, "single op is null"); | ||||
| return ACL_ERROR_GE_INTERNAL_ERROR; | return ACL_ERROR_GE_INTERNAL_ERROR; | ||||
| @@ -99,7 +100,9 @@ StreamResource *SingleOpManager::TryGetResource(uintptr_t resource_id) { | |||||
| Status SingleOpManager::GetDynamicOpFromModel(const string &model_name, | Status SingleOpManager::GetDynamicOpFromModel(const string &model_name, | ||||
| const ModelData &model_data, | const ModelData &model_data, | ||||
| void *stream, | void *stream, | ||||
| DynamicSingleOp **single_op) { | |||||
| DynamicSingleOp **single_op, | |||||
| const uint64_t model_id) { | |||||
| GELOGI("GetOpFromModel in. model name = %s, model id = %lu", model_name.c_str(), model_id); | |||||
| if (!tiling_func_registered_) { | if (!tiling_func_registered_) { | ||||
| RegisterTilingFunc(); | RegisterTilingFunc(); | ||||
| } | } | ||||
| @@ -37,12 +37,14 @@ class SingleOpManager { | |||||
| Status GetOpFromModel(const std::string &model_name, | Status GetOpFromModel(const std::string &model_name, | ||||
| const ge::ModelData &model_data, | const ge::ModelData &model_data, | ||||
| void *stream, | void *stream, | ||||
| SingleOp **single_op); | |||||
| SingleOp **single_op, | |||||
| const uint64_t model_id); | |||||
| Status GetDynamicOpFromModel(const std::string &model_name, | Status GetDynamicOpFromModel(const std::string &model_name, | ||||
| const ge::ModelData &model_data, | const ge::ModelData &model_data, | ||||
| void *stream, | void *stream, | ||||
| DynamicSingleOp **dynamic_single_op); | |||||
| DynamicSingleOp **dynamic_single_op, | |||||
| const uint64_t model_id); | |||||
| StreamResource *GetResource(uintptr_t resource_id, rtStream_t stream); | StreamResource *GetResource(uintptr_t resource_id, rtStream_t stream); | ||||
| @@ -260,12 +260,18 @@ class GE_FUNC_VISIBILITY GeExecutor { | |||||
| static ge::Status LoadSingleOp(const std::string &modelName, const ge::ModelData &modelData, void *stream, | static ge::Status LoadSingleOp(const std::string &modelName, const ge::ModelData &modelData, void *stream, | ||||
| SingleOp **single_op); | SingleOp **single_op); | ||||
| static ge::Status LoadSingleOp(const std::string &modelName, const ge::ModelData &modelData, void *stream, | |||||
| SingleOp **single_op, const uint64_t model_id); | |||||
| static ge::Status ExecuteAsync(SingleOp *executor, const std::vector<DataBuffer> &inputs, | static ge::Status ExecuteAsync(SingleOp *executor, const std::vector<DataBuffer> &inputs, | ||||
| std::vector<DataBuffer> &outputs); | std::vector<DataBuffer> &outputs); | ||||
| static ge::Status LoadDynamicSingleOp(const std::string &model_name, const ge::ModelData &modelData, void *stream, | static ge::Status LoadDynamicSingleOp(const std::string &model_name, const ge::ModelData &modelData, void *stream, | ||||
| DynamicSingleOp **single_op); | DynamicSingleOp **single_op); | ||||
| static ge::Status LoadDynamicSingleOp(const std::string &model_name, const ge::ModelData &modelData, void *stream, | |||||
| DynamicSingleOp **single_op, const uint64_t model_id); | |||||
| static ge::Status ExecuteAsync(DynamicSingleOp *executor, const std::vector<GeTensorDesc> &input_desc, | static ge::Status ExecuteAsync(DynamicSingleOp *executor, const std::vector<GeTensorDesc> &input_desc, | ||||
| const std::vector<DataBuffer> &inputs, std::vector<GeTensorDesc> &output_desc, | const std::vector<DataBuffer> &inputs, std::vector<GeTensorDesc> &output_desc, | ||||
| std::vector<DataBuffer> &outputs); | std::vector<DataBuffer> &outputs); | ||||