提交 6b53c0ca 编写于 作者: Y Yuan Shuai 提交者: GitHub

[LITE][PROFILER] Split precision profiler from performance profiler (#3305)

* split precision profiler from performance profiler. test=develop
上级 59925b19
...@@ -67,7 +67,7 @@ lite_option(LITE_WITH_OPENCL "Enable OpenCL support in lite" OFF) ...@@ -67,7 +67,7 @@ lite_option(LITE_WITH_OPENCL "Enable OpenCL support in lite" OFF)
lite_option(LITE_WITH_FPGA "Enable FPGA support in lite" OFF) lite_option(LITE_WITH_FPGA "Enable FPGA support in lite" OFF)
lite_option(LITE_WITH_LIGHT_WEIGHT_FRAMEWORK "Enable light-weight framework" OFF) lite_option(LITE_WITH_LIGHT_WEIGHT_FRAMEWORK "Enable light-weight framework" OFF)
lite_option(LITE_WITH_PROFILE "Enable profile mode in lite framework" OFF) lite_option(LITE_WITH_PROFILE "Enable profile mode in lite framework" OFF)
lite_option(LITE_WITH_PRECISION_PROFILE "Enable precision profile in profile mode ON in lite" OFF IF LITE_WITH_PROFILE) lite_option(LITE_WITH_PRECISION_PROFILE "Enable precision profile in profile mode ON in lite" OFF)
lite_option(LITE_SHUTDOWN_LOG "Shutdown log system or not." OFF) lite_option(LITE_SHUTDOWN_LOG "Shutdown log system or not." OFF)
lite_option(LITE_ON_TINY_PUBLISH "Publish tiny predictor lib." OFF) lite_option(LITE_ON_TINY_PUBLISH "Publish tiny predictor lib." OFF)
lite_option(LITE_ON_MODEL_OPTIMIZE_TOOL "Build the model optimize tool" OFF) lite_option(LITE_ON_MODEL_OPTIMIZE_TOOL "Build the model optimize tool" OFF)
......
...@@ -152,9 +152,10 @@ endif() ...@@ -152,9 +152,10 @@ endif()
if (LITE_WITH_PROFILE) if (LITE_WITH_PROFILE)
add_definitions("-DLITE_WITH_PROFILE") add_definitions("-DLITE_WITH_PROFILE")
if (LITE_WITH_PRECISION_PROFILE) endif()
add_definitions("-DLITE_WITH_PRECISION_PROFILE")
endif() if (LITE_WITH_PRECISION_PROFILE)
add_definitions("-DLITE_WITH_PRECISION_PROFILE")
endif() endif()
if (LITE_WITH_LIGHT_WEIGHT_FRAMEWORK) if (LITE_WITH_LIGHT_WEIGHT_FRAMEWORK)
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
#include "lite/operators/conditional_block_op.h" #include "lite/operators/conditional_block_op.h"
#include "lite/operators/subgraph_op.h" #include "lite/operators/subgraph_op.h"
#include "lite/operators/while_op.h" #include "lite/operators/while_op.h"
#ifdef LITE_WITH_PROFILE #ifdef LITE_WITH_PRECISION_PROFILE
#include "lite/core/profile/precision_profiler.h" #include "lite/core/profile/precision_profiler.h"
#endif #endif
...@@ -136,12 +136,10 @@ void RuntimeProgram::UpdateVarsOfProgram(cpp::ProgramDesc* desc) { ...@@ -136,12 +136,10 @@ void RuntimeProgram::UpdateVarsOfProgram(cpp::ProgramDesc* desc) {
} }
void RuntimeProgram::Run() { void RuntimeProgram::Run() {
#ifdef LITE_WITH_PROFILE
#ifdef LITE_WITH_PRECISION_PROFILE #ifdef LITE_WITH_PRECISION_PROFILE
auto inst_precision_profiler = paddle::lite::profile::PrecisionProfiler(); auto inst_precision_profiler = paddle::lite::profile::PrecisionProfiler();
std::string precision_profiler_summary = std::string precision_profiler_summary =
inst_precision_profiler.GetSummaryHeader(); inst_precision_profiler.GetSummaryHeader();
#endif
#endif #endif
for (auto& inst : instructions_) { for (auto& inst : instructions_) {
...@@ -149,21 +147,19 @@ void RuntimeProgram::Run() { ...@@ -149,21 +147,19 @@ void RuntimeProgram::Run() {
if (inst.is_feed_fetch_op()) continue; if (inst.is_feed_fetch_op()) continue;
#endif #endif
inst.Run(); inst.Run();
#ifdef LITE_WITH_PROFILE
#ifdef LITE_WITH_PRECISION_PROFILE #ifdef LITE_WITH_PRECISION_PROFILE
#ifndef LITE_WITH_FPGA #ifndef LITE_WITH_FPGA
precision_profiler_summary += precision_profiler_summary +=
inst_precision_profiler.GetInstPrecision(&inst); inst_precision_profiler.GetInstPrecision(&inst);
#endif #endif
#endif // LITE_WITH_PRECISION_PROFILE #endif // LITE_WITH_PRECISION_PROFILE
#endif // LITE_WITH_PROFILE
} }
#ifdef LITE_WITH_PROFILE #ifdef LITE_WITH_PROFILE
LOG(INFO) << "\n" << profiler_.Summary(profile::Type::kDispatch, false, 0); LOG(INFO) << "\n" << profiler_.Summary(profile::Type::kDispatch, false, 0);
#endif
#ifdef LITE_WITH_PRECISION_PROFILE #ifdef LITE_WITH_PRECISION_PROFILE
LOG(INFO) << "\n" << precision_profiler_summary; LOG(INFO) << "\n" << precision_profiler_summary;
#endif // LITE_WITH_PRECISION_PROFILE #endif
#endif // LITE_WITH_PROFILE
} }
void Program::Build(const cpp::ProgramDesc& prog) { void Program::Build(const cpp::ProgramDesc& prog) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册