@@ -39,12 +39,21 @@ const std::string kDeviceIdList = "devIdList"; | |||||
const std::string kAicoreMetrics = "aicoreMetrics"; | const std::string kAicoreMetrics = "aicoreMetrics"; | ||||
const std::map<ge::ProfilingAicoreMetrics, std::string> kProfAicoreMetricsToString = { | const std::map<ge::ProfilingAicoreMetrics, std::string> kProfAicoreMetricsToString = { | ||||
<<<<<<< HEAD:ge/client/ge_prof.cc | |||||
{ge::kAicoreArithmaticThroughput, "AICORE_ARITHMATIC_THROUGHPUT"}, | {ge::kAicoreArithmaticThroughput, "AICORE_ARITHMATIC_THROUGHPUT"}, | ||||
{ge::kAicorePipeline, "AICORE_PIPELINE"}, | {ge::kAicorePipeline, "AICORE_PIPELINE"}, | ||||
{ge::kAicoreSynchronization, "AICORE_SYNCHRONIZATION"}, | {ge::kAicoreSynchronization, "AICORE_SYNCHRONIZATION"}, | ||||
{ge::kAicoreMemory, "AICORE_MEMORY"}, | {ge::kAicoreMemory, "AICORE_MEMORY"}, | ||||
{ge::kAicoreInternalMemory, "AICORE_INTERNAL_MEMORY"}, | {ge::kAicoreInternalMemory, "AICORE_INTERNAL_MEMORY"}, | ||||
{ge::kAicoreStall, "AICORE_STALL"}}; | {ge::kAicoreStall, "AICORE_STALL"}}; | ||||
======= | |||||
{ge::kAicoreArithmaticThroughput, "AICORE_ARITHMATIC_THROUGHPUT"}, | |||||
{ge::kAicorePipeline, "AICORE_PIPELINE"}, | |||||
{ge::kAicoreSynchronization, "AICORE_SYNCHRONIZATION"}, | |||||
{ge::kAicoreMemory, "AICORE_MEMORY"}, | |||||
{ge::kAicoreInternalMemory, "AICORE_INTERNAL_MEMORY"}, | |||||
{ge::kAicoreStall, "AICORE_STALL"}}; | |||||
>>>>>>> cd365aa247c64e30487d1e71e4f724a889848f80:src/ge/client/ge_prof.cc | |||||
} // namespace | } // namespace | ||||
static bool g_graph_prof_init_ = false; | static bool g_graph_prof_init_ = false; | ||||
@@ -351,7 +360,11 @@ Status aclgrphProfStop(aclgrphProfConfig *profiler_config) { | |||||
command.module_index = profiler_config->config.dataTypeConfig; | command.module_index = profiler_config->config.dataTypeConfig; | ||||
GELOGI("Profiling will stop, device nums:%s , deviceID:[%s], data type config: 0x%llx", prof_params[0].c_str(), | GELOGI("Profiling will stop, device nums:%s , deviceID:[%s], data type config: 0x%llx", prof_params[0].c_str(), | ||||
prof_params[kDeviceListIndex].c_str(), command.module_index); | prof_params[kDeviceListIndex].c_str(), command.module_index); | ||||
<<<<<<< HEAD:ge/client/ge_prof.cc | |||||
Status ret = graph_loader.CommandHandle(command); | Status ret = graph_loader.CommandHandle(command); | ||||
======= | |||||
ret = graph_loader.CommandHandle(command); | |||||
>>>>>>> cd365aa247c64e30487d1e71e4f724a889848f80:src/ge/client/ge_prof.cc | |||||
if (ret != SUCCESS) { | if (ret != SUCCESS) { | ||||
GELOGE(ret, "Handle profiling command failed"); | GELOGE(ret, "Handle profiling command failed"); | ||||
return FAILED; | return FAILED; | ||||
@@ -1,5 +1,5 @@ | |||||
/** | /** | ||||
* Copyright 2020 Huawei Technologies Co., Ltd | |||||
* Copyright 2020 Huawei Technologies Co., Ltd | |||||
* | * | ||||
* Licensed under the Apache License, Version 2.0 (the "License"); | * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
* you may not use this file except in compliance with the License. | * you may not use this file except in compliance with the License. | ||||
@@ -143,6 +143,9 @@ class GraphMemoryAssigner { | |||||
ge::Status FilterAtomicNodesForMemoryAssign(std::map<NodePtr, vector<NodePtr>> &normal_atomic_nodes_map, | ge::Status FilterAtomicNodesForMemoryAssign(std::map<NodePtr, vector<NodePtr>> &normal_atomic_nodes_map, | ||||
std::vector<NodePtr> &connecting_output_atomic_nodes); | std::vector<NodePtr> &connecting_output_atomic_nodes); | ||||
ge::Status FilterAtomicNodesForMemoryAssign(std::map<NodePtr, vector<NodePtr>> &normal_atomic_nodes_map, | |||||
std::vector<NodePtr> &connecting_output_atomic_nodes); | |||||
ge::Status AssignContinuousInputMemory(const ge::NodePtr &node, int64_t &continuous_mem_start, | ge::Status AssignContinuousInputMemory(const ge::NodePtr &node, int64_t &continuous_mem_start, | ||||
int64_t &continuous_mem_size, int64_t memory_type); | int64_t &continuous_mem_size, int64_t memory_type); | ||||
@@ -652,7 +652,7 @@ Status InsertNewOpUtil::GetAllAipps(const NodePtr &data_node, const NodePtr &nod | |||||
Status InsertNewOpUtil::RecordAIPPInfoToData(const ComputeGraphPtr &graph) { | Status InsertNewOpUtil::RecordAIPPInfoToData(const ComputeGraphPtr &graph) { | ||||
GELOGI("Start to record aipp info to Data."); | GELOGI("Start to record aipp info to Data."); | ||||
std::map<NodePtr, std::set<NodePtr>> data_next_node_map; | |||||
std::map<NodePtr, std::set<NodePtr> data_next_node_map; | |||||
for (auto &node : graph->GetDirectNode()) { | for (auto &node : graph->GetDirectNode()) { | ||||
if (node->GetType() == DATA) { | if (node->GetType() == DATA) { | ||||
GE_RETURN_IF_ERROR(GetDataRelatedNode(node, data_next_node_map)); | GE_RETURN_IF_ERROR(GetDataRelatedNode(node, data_next_node_map)); | ||||
@@ -62,6 +62,8 @@ enum InputAippType{ | |||||
DYNAMIC_AIPP_NODE | DYNAMIC_AIPP_NODE | ||||
}; | }; | ||||
enum InputAippType { DATA_WITHOUT_AIPP = 0, DATA_WITH_STATIC_AIPP, DATA_WITH_DYNAMIC_AIPP, DYNAMIC_AIPP_NODE }; | |||||
const char *const GE_ENGINE_ATTR_MEM_TYPE_HBM = "HBM"; | const char *const GE_ENGINE_ATTR_MEM_TYPE_HBM = "HBM"; | ||||
const char *const GE_OPTION_EXEC_PLACEMENT = "ge.exec.placement"; | const char *const GE_OPTION_EXEC_PLACEMENT = "ge.exec.placement"; | ||||