From: @isaacxr Reviewed-by: @xchu42,@ji_chen Signed-off-by: @ji_chentags/v1.2.0
@@ -26,6 +26,7 @@ namespace hybrid { | |||||
namespace { | namespace { | ||||
const int kDataOutputIndex = 0; | const int kDataOutputIndex = 0; | ||||
const size_t kMinimumPiplineStages = 2; | const size_t kMinimumPiplineStages = 2; | ||||
const int kDefaultLoopCount = 10; | |||||
} | } | ||||
HybridModelAsyncExecutor::HybridModelAsyncExecutor(HybridModel *model) | HybridModelAsyncExecutor::HybridModelAsyncExecutor(HybridModel *model) | ||||
: model_(model), run_flag_(false) { | : model_(model), run_flag_(false) { | ||||
@@ -150,7 +151,7 @@ Status HybridModelAsyncExecutor::RunInternal() { | |||||
GELOGI("HybridModel will execute in pipeline mode"); | GELOGI("HybridModel will execute in pipeline mode"); | ||||
auto iter_per_run = std::getenv("ITER_NUM"); | auto iter_per_run = std::getenv("ITER_NUM"); | ||||
if (iter_per_run) { | if (iter_per_run) { | ||||
args.num_loops = static_cast<int>(strtol(iter_per_run, nullptr, 10)); | |||||
args.num_loops = static_cast<int>(strtol(iter_per_run, nullptr, kDefaultLoopCount)); | |||||
} | } | ||||
ret = pipe_executor_->Execute(args); | ret = pipe_executor_->Execute(args); | ||||
} else { | } else { | ||||
@@ -8,6 +8,7 @@ namespace ge { | |||||
namespace hybrid { | namespace hybrid { | ||||
namespace { | namespace { | ||||
constexpr int kNumExecutors = 2; | constexpr int kNumExecutors = 2; | ||||
const int kMinLoopCount = 2; | |||||
const int kIntBase = 10; | const int kIntBase = 10; | ||||
const char *const kEnvProfilingLevel = "HYBRID_PROFILING_LEVEL"; | const char *const kEnvProfilingLevel = "HYBRID_PROFILING_LEVEL"; | ||||
} | } | ||||
@@ -208,7 +209,7 @@ Status HybridModelPipelineExecutor::InitStageExecutors() { | |||||
Status HybridModelPipelineExecutor::Execute(HybridModelExecutor::ExecuteArgs &args) { | Status HybridModelPipelineExecutor::Execute(HybridModelExecutor::ExecuteArgs &args) { | ||||
int loop_count = args.num_loops; | int loop_count = args.num_loops; | ||||
GE_CHECK_GE(loop_count, 2); | |||||
GE_CHECK_GE(loop_count, kMinLoopCount); | |||||
auto &inputs = args.inputs; | auto &inputs = args.inputs; | ||||
auto &input_desc = args.input_desc; | auto &input_desc = args.input_desc; | ||||