|
|
|
@ -809,28 +809,41 @@ FMK_FUNC_HOST_VISIBILITY FMK_FUNC_DEV_VISIBILITY void ProfilingManager::GetFpBpP
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
// ProfApi mode and training trace is set
|
|
|
|
|
try {
|
|
|
|
|
char env_profiling_options[MSPROF_OPTIONS_DEF_LEN_MAX] = { 0x00 };
|
|
|
|
|
// Parse options first
|
|
|
|
|
char env_profiling_options[MSPROF_OPTIONS_DEF_LEN_MAX] = { 0x00 };
|
|
|
|
|
bool is_profiling_valid = false;
|
|
|
|
|
std::string profiling_options;
|
|
|
|
|
if (ge::GetContext().GetOption(OPTION_EXEC_PROFILING_OPTIONS, profiling_options) == SUCCESS &&
|
|
|
|
|
!profiling_options.empty()) {
|
|
|
|
|
is_profiling_valid = true;
|
|
|
|
|
} else {
|
|
|
|
|
INT32 ret = mmGetEnv("PROFILING_OPTIONS", env_profiling_options, MSPROF_OPTIONS_DEF_LEN_MAX);
|
|
|
|
|
if (ret != EN_OK) {
|
|
|
|
|
GELOGI("PROFILING_OPTIONS env is not exist.");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
GELOGI("Parse env PROFILING_OPTIONS:%s.", env_profiling_options);
|
|
|
|
|
Json prof_options = Json::parse(env_profiling_options);
|
|
|
|
|
profiling_options = env_profiling_options;
|
|
|
|
|
is_profiling_valid = true;
|
|
|
|
|
}
|
|
|
|
|
if (is_profiling_valid) {
|
|
|
|
|
try {
|
|
|
|
|
Json prof_options = Json::parse(profiling_options);
|
|
|
|
|
|
|
|
|
|
fp_point_ = prof_options[kFpPoint];
|
|
|
|
|
bp_point_ = prof_options[kBpPoint];
|
|
|
|
|
fp_point_ = prof_options[kFpPoint];
|
|
|
|
|
bp_point_ = prof_options[kBpPoint];
|
|
|
|
|
|
|
|
|
|
fp_point = fp_point_;
|
|
|
|
|
bp_point = bp_point_;
|
|
|
|
|
if (!fp_point_.empty() && !bp_point_.empty()) {
|
|
|
|
|
GELOGI("Training trace bp fp is set, bp_point:%s, fp_point:%s.", bp_point_.c_str(), fp_point_.c_str());
|
|
|
|
|
fp_point = fp_point_;
|
|
|
|
|
bp_point = bp_point_;
|
|
|
|
|
if (!fp_point_.empty() && !bp_point_.empty()) {
|
|
|
|
|
GELOGI("Training trace bp fp is set, bp_point:%s, fp_point:%s.", bp_point_.c_str(), fp_point_.c_str());
|
|
|
|
|
}
|
|
|
|
|
} catch (...) {
|
|
|
|
|
GELOGW("Json prof options is invalid.");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
} catch (...) {
|
|
|
|
|
GELOGE(FAILED, "Json prof options is invalid.");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|