| @@ -11,8 +11,6 @@ elseif (ENABLE_D) | |||
| endif () | |||
| set(PROTO_LIST | |||
| "${METADEF_DIR}/proto/dump_task.proto" | |||
| "${METADEF_DIR}/proto/op_mapping_info.proto" | |||
| "${METADEF_DIR}/proto/fusion_model.proto" | |||
| "${GE_CODE_DIR}/ge/proto/optimizer_priority.proto" | |||
| ) | |||
| @@ -27,6 +25,7 @@ set(PROTO_HEADER_LIST | |||
| "${METADEF_DIR}/proto/insert_op.proto" | |||
| "${METADEF_DIR}/proto/ge_ir.proto" | |||
| "${METADEF_DIR}/proto/fwk_adapter.proto" | |||
| "${METADEF_DIR}/proto/op_mapping.proto" | |||
| ) | |||
| protobuf_generate(ge PROTO_SRCS PROTO_HDRS ${PROTO_LIST}) | |||
| @@ -26,7 +26,7 @@ | |||
| #include "graph/op_desc.h" | |||
| #include "graph/utils/tensor_utils.h" | |||
| #include "proto/ge_ir.pb.h" | |||
| #include "proto/op_mapping_info.pb.h" | |||
| #include "proto/op_mapping.pb.h" | |||
| #include "runtime/mem.h" | |||
| #include "aicpu/common/aicpu_task_struct.h" | |||
| @@ -64,7 +64,7 @@ void DumpOp::SetDynamicModelInfo(const string &dynamic_model_name, const string | |||
| } | |||
| static void SetOpMappingLoopAddr(uintptr_t step_id, uintptr_t loop_per_iter, uintptr_t loop_cond, | |||
| aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| toolkit::aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| if (step_id != 0) { | |||
| GELOGI("step_id exists."); | |||
| op_mapping_info.set_step_id_addr(static_cast<uint64_t>(step_id)); | |||
| @@ -87,11 +87,11 @@ static void SetOpMappingLoopAddr(uintptr_t step_id, uintptr_t loop_per_iter, uin | |||
| } | |||
| } | |||
| Status DumpOp::DumpOutput(aicpu::dump::Task &task) { | |||
| Status DumpOp::DumpOutput(toolkit::aicpu::dump::Task &task) { | |||
| GELOGI("Start dump output in Launch dump op"); | |||
| const auto &output_descs = op_desc_->GetAllOutputsDesc(); | |||
| for (size_t i = 0; i < output_descs.size(); ++i) { | |||
| aicpu::dump::Output output; | |||
| toolkit::aicpu::dump::Output output; | |||
| output.set_data_type(static_cast<int32_t>(DataTypeUtil::GetIrDataType(output_descs.at(i).GetDataType()))); | |||
| output.set_format(static_cast<int32_t>(output_descs.at(i).GetFormat())); | |||
| for (auto dim : output_descs.at(i).GetShape().GetDims()) { | |||
| @@ -113,11 +113,11 @@ Status DumpOp::DumpOutput(aicpu::dump::Task &task) { | |||
| return SUCCESS; | |||
| } | |||
| Status DumpOp::DumpInput(aicpu::dump::Task &task) { | |||
| Status DumpOp::DumpInput(toolkit::aicpu::dump::Task &task) { | |||
| GELOGI("Start dump input in Launch dump op"); | |||
| const auto &input_descs = op_desc_->GetAllInputsDesc(); | |||
| for (size_t i = 0; i < input_descs.size(); ++i) { | |||
| aicpu::dump::Input input; | |||
| toolkit::aicpu::dump::Input input; | |||
| input.set_data_type(static_cast<int32_t>(DataTypeUtil::GetIrDataType(input_descs.at(i).GetDataType()))); | |||
| input.set_format(static_cast<int32_t>(input_descs.at(i).GetFormat())); | |||
| @@ -149,7 +149,7 @@ void DumpOp::SetDumpInfo(const DumpProperties &dump_properties, const OpDescPtr | |||
| stream_ = stream; | |||
| } | |||
| Status DumpOp::ExecutorDumpOp(aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| Status DumpOp::ExecutorDumpOp(toolkit::aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| std::string proto_msg; | |||
| size_t proto_size = op_mapping_info.ByteSizeLong(); | |||
| bool ret = op_mapping_info.SerializeToString(&proto_msg); | |||
| @@ -203,7 +203,7 @@ Status DumpOp::ExecutorDumpOp(aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| return SUCCESS; | |||
| } | |||
| Status DumpOp::SetDumpModelName(aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| Status DumpOp::SetDumpModelName(toolkit::aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| if (dynamic_model_name_.empty() && dynamic_om_name_.empty()) { | |||
| GELOGI("Single op dump, no need set model name"); | |||
| return SUCCESS; | |||
| @@ -242,7 +242,7 @@ Status DumpOp::LaunchDumpOp() { | |||
| device_id); | |||
| return ACL_ERROR_GE_INTERNAL_ERROR; | |||
| } | |||
| aicpu::dump::OpMappingInfo op_mapping_info; | |||
| toolkit::aicpu::dump::OpMappingInfo op_mapping_info; | |||
| auto dump_path = dump_properties_.GetDumpPath() + std::to_string(device_id) + "/"; | |||
| op_mapping_info.set_dump_path(dump_path); | |||
| op_mapping_info.set_flag(kAicpuLoadFlag); | |||
| @@ -261,7 +261,7 @@ Status DumpOp::LaunchDumpOp() { | |||
| if (rt_ret != RT_ERROR_NONE) { | |||
| GELOGW("call rtGetTaskIdAndStreamID failed, ret = 0x%X", rt_ret); | |||
| } | |||
| aicpu::dump::Task task; | |||
| toolkit::aicpu::dump::Task task; | |||
| task.set_task_id(task_id); | |||
| task.set_stream_id(stream_id); | |||
| task.mutable_op()->set_op_name(op_desc_->GetName()); | |||
| @@ -21,7 +21,7 @@ | |||
| #include "common/ge_inner_error_codes.h" | |||
| #include "common/properties_manager.h" | |||
| #include "proto/op_mapping_info.pb.h" | |||
| #include "proto/op_mapping.pb.h" | |||
| #include "runtime/stream.h" | |||
| namespace ge { | |||
| @@ -37,10 +37,10 @@ class DumpOp { | |||
| void SetDynamicModelInfo(const string &dynamic_model_name, const string &dynamic_om_name, uint32_t dynamic_model_id); | |||
| private: | |||
| Status ExecutorDumpOp(aicpu::dump::OpMappingInfo &op_mapping_info); | |||
| Status DumpOutput(aicpu::dump::Task &task); | |||
| Status DumpInput(aicpu::dump::Task &task); | |||
| Status SetDumpModelName(aicpu::dump::OpMappingInfo &op_mapping_info); | |||
| Status ExecutorDumpOp(toolkit::aicpu::dump::OpMappingInfo &op_mapping_info); | |||
| Status DumpOutput(toolkit::aicpu::dump::Task &task); | |||
| Status DumpInput(toolkit::aicpu::dump::Task &task); | |||
| Status SetDumpModelName(toolkit::aicpu::dump::OpMappingInfo &op_mapping_info); | |||
| DumpProperties dump_properties_; | |||
| OpDescPtr op_desc_; | |||
| @@ -43,15 +43,15 @@ static void ReplaceStringElem(std::string &str) { | |||
| }); | |||
| } | |||
| static void SetDumpData(const ge::OpDescInfo &op_desc_info, toolkit::dumpdata::DumpData &dump_data) { | |||
| static void SetDumpData(const ge::OpDescInfo &op_desc_info, toolkit::dump::DumpData &dump_data) { | |||
| dump_data.set_version("2.0"); | |||
| dump_data.set_dump_time(GetNowTime()); | |||
| dump_data.set_op_name(op_desc_info.op_name); | |||
| for (size_t i = 0; i < op_desc_info.input_format.size(); ++i) { | |||
| toolkit::dumpdata::OpInput input; | |||
| input.set_data_type(toolkit::dumpdata::OutputDataType( | |||
| toolkit::dump::OpInput input; | |||
| input.set_data_type(toolkit::dump::OutputDataType( | |||
| ge::DataTypeUtil::GetIrDataType(op_desc_info.input_data_type[i]))); | |||
| input.set_format(toolkit::dumpdata::OutputFormat(op_desc_info.input_format[i])); | |||
| input.set_format(toolkit::dump::OutputFormat(op_desc_info.input_format[i])); | |||
| for (auto dim : op_desc_info.input_shape[i]) { | |||
| input.mutable_shape()->add_dim(dim); | |||
| } | |||
| @@ -61,10 +61,10 @@ static void SetDumpData(const ge::OpDescInfo &op_desc_info, toolkit::dumpdata::D | |||
| } | |||
| for (size_t j = 0; j < op_desc_info.output_format.size(); ++j) { | |||
| toolkit::dumpdata::OpOutput output; | |||
| output.set_data_type(toolkit::dumpdata::OutputDataType( | |||
| toolkit::dump::OpOutput output; | |||
| output.set_data_type(toolkit::dump::OutputDataType( | |||
| ge::DataTypeUtil::GetIrDataType(op_desc_info.output_data_type[j]))); | |||
| output.set_format(toolkit::dumpdata::OutputFormat(op_desc_info.output_format[j])); | |||
| output.set_format(toolkit::dump::OutputFormat(op_desc_info.output_format[j])); | |||
| for (auto dim : op_desc_info.output_shape[j]) { | |||
| output.mutable_shape()->add_dim(dim); | |||
| } | |||
| @@ -148,7 +148,7 @@ Status ExceptionDumper::DumpExceptionInfo(const std::vector<rtExceptionInfo> &ex | |||
| for (const rtExceptionInfo &iter : exception_infos) { | |||
| OpDescInfo op_desc_info; | |||
| if (GetOpDescInfo(iter.streamid, iter.taskid, op_desc_info)) { | |||
| toolkit::dumpdata::DumpData dump_data; | |||
| toolkit::dump::DumpData dump_data; | |||
| SetDumpData(op_desc_info, dump_data); | |||
| uint64_t now_time = GetNowTime(); | |||
| std::string op_name = op_desc_info.op_name; | |||
| @@ -1,5 +1,5 @@ | |||
| syntax = "proto3"; | |||
| package aicpu.dump; | |||
| package toolkit.aicpu.dump; | |||
| message Shape { | |||
| repeated uint64 dim = 1; | |||
| @@ -3,46 +3,12 @@ set(PROTO_LIST | |||
| "${METADEF_DIR}/proto/ge_ir.proto" | |||
| "${METADEF_DIR}/proto/insert_op.proto" | |||
| "${METADEF_DIR}/proto/task.proto" | |||
| ) | |||
| set(DUMP_PROTO_LIST | |||
| "${METADEF_DIR}/proto/op_mapping.proto" | |||
| "${METADEF_DIR}/proto/dump_task.proto" | |||
| "${METADEF_DIR}/proto/op_mapping_info.proto" | |||
| ) | |||
| protobuf_generate(ge PROTO_SRCS PROTO_HDRS ${PROTO_LIST}) | |||
| protobuf_generate(ge_static PROTO_STATIC_SRCS PROTO_STATIC_HDRS ${PROTO_LIST}) | |||
| protobuf_generate(ge_dump DUMP_PROTO_SRCS DUMP_PROTO_HDRS ${DUMP_PROTO_LIST}) | |||
| ############ libge_proto_dump.a ############ | |||
| add_library(ge_proto_dump STATIC | |||
| ${DUMP_PROTO_SRCS} | |||
| ) | |||
| target_compile_definitions(ge_proto_dump PRIVATE | |||
| PROTOBUF_INLINE_NOT_IN_HEADERS=0 | |||
| google=ascend_private | |||
| $<IF:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>,OS_TYPE=WIN,OS_TYPE=0> | |||
| $<$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>:SECUREC_USING_STD_SECURE_LIB=0 NOMINMAX> | |||
| ) | |||
| target_compile_options(ge_proto_dump PRIVATE | |||
| -O2 | |||
| -fno-common | |||
| -fvisibility=hidden | |||
| $<$<AND:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>,$<STREQUAL:${CMAKE_CONFIGURATION_TYPES},Debug>>:/MTd> | |||
| $<$<AND:$<STREQUAL:${TARGET_SYSTEM_NAME},Windows>,$<STREQUAL:${CMAKE_CONFIGURATION_TYPES},Release>>:/MT> | |||
| ) | |||
| target_link_libraries(ge_proto_dump PRIVATE | |||
| $<BUILD_INTERFACE:intf_pub> | |||
| ascend_protobuf_static | |||
| ) | |||
| target_link_options(ge_proto_dump PRIVATE | |||
| -Wl,-Bsymbolic | |||
| ) | |||
| ################################################################## | |||
| set(SRC_LIST | |||
| "ge_executor.cc" | |||
| @@ -227,7 +193,6 @@ target_include_directories(ge_executor SYSTEM PRIVATE | |||
| ${METADEF_DIR}/inc/external/graph | |||
| ${METADEF_DIR}/inc/graph | |||
| ${CMAKE_BINARY_DIR} | |||
| ${CMAKE_BINARY_DIR}/proto/ge_dump | |||
| ${CMAKE_BINARY_DIR}/proto/ge_static | |||
| #### yellow zone #### | |||
| ${GE_CODE_DIR}/../inc | |||
| @@ -240,7 +205,6 @@ target_link_libraries(ge_executor PRIVATE | |||
| $<BUILD_INTERFACE:intf_pub> | |||
| json | |||
| ascend_protobuf_static | |||
| ge_proto_dump | |||
| c_sec | |||
| $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Android>>:-lrt> | |||
| -ldl | |||
| @@ -275,7 +239,6 @@ target_include_directories(ge_executor_shared PRIVATE | |||
| ${METADEF_DIR}/inc/external/graph | |||
| ${METADEF_DIR}/inc/graph | |||
| ${CMAKE_BINARY_DIR} | |||
| ${CMAKE_BINARY_DIR}/proto/ge_dump | |||
| ${CMAKE_BINARY_DIR}/proto/ge | |||
| #### yellow zone #### | |||
| ${GE_CODE_DIR}/../inc | |||
| @@ -291,7 +254,6 @@ target_link_options(ge_executor_shared PRIVATE | |||
| target_link_libraries(ge_executor_shared PRIVATE | |||
| $<BUILD_INTERFACE:intf_pub> | |||
| ge_proto_dump | |||
| -Wl,--no-as-needed | |||
| ge_common | |||
| runtime | |||
| @@ -1,5 +1,5 @@ | |||
| syntax = "proto3"; | |||
| package toolkit.dumpdata; | |||
| package toolkit.dump; | |||
| enum OutputDataType { | |||
| DT_UNDEFINED = 0; | |||
| @@ -1,5 +1,5 @@ | |||
| syntax = "proto3"; | |||
| package aicpu.dump; | |||
| package toolkit.aicpu.dump; | |||
| message Shape { | |||
| repeated uint64 dim = 1; | |||
| @@ -35,7 +35,7 @@ | |||
| #include "graph/utils/tensor_utils.h" | |||
| #include "proto/dump_task.pb.h" | |||
| #include "proto/ge_ir.pb.h" | |||
| #include "proto/op_mapping_info.pb.h" | |||
| #include "proto/op_mapping.pb.h" | |||
| #include "runtime/base.h" | |||
| #include "runtime/mem.h" | |||
| @@ -217,7 +217,7 @@ void DataDumper::SaveDumpTask(uint32_t task_id, uint32_t stream_id, const std::s | |||
| } | |||
| static void SetOpMappingLoopAddr(uintptr_t step_id, uintptr_t loop_per_iter, uintptr_t loop_cond, | |||
| aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| toolkit::aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| if (step_id != 0) { | |||
| GELOGI("step_id exists."); | |||
| op_mapping_info.set_step_id_addr(static_cast<uint64_t>(step_id)); | |||
| @@ -234,7 +234,8 @@ static void SetOpMappingLoopAddr(uintptr_t step_id, uintptr_t loop_per_iter, uin | |||
| } | |||
| } | |||
| Status DataDumper::GenerateOutput(aicpu::dump::Output &output, const OpDesc::Vistor<GeTensorDesc> &tensor_descs, | |||
| Status DataDumper::GenerateOutput(toolkit::aicpu::dump::Output &output, | |||
| const OpDesc::Vistor<GeTensorDesc> &tensor_descs, | |||
| const uintptr_t &addr, size_t index) { | |||
| output.set_data_type(static_cast<int32_t>(GetIrDataType(tensor_descs.at(index).GetDataType()))); | |||
| output.set_format(static_cast<int32_t>(tensor_descs.at(index).GetFormat())); | |||
| @@ -265,7 +266,8 @@ Status DataDumper::GenerateOutput(aicpu::dump::Output &output, const OpDesc::Vis | |||
| return SUCCESS; | |||
| } | |||
| Status DataDumper::DumpRefOutput(const DataDumper::InnerDumpInfo &inner_dump_info, aicpu::dump::Output &output, | |||
| Status DataDumper::DumpRefOutput(const DataDumper::InnerDumpInfo &inner_dump_info, | |||
| toolkit::aicpu::dump::Output &output, | |||
| size_t i, const std::string &node_name_index) { | |||
| std::string dump_op_name; | |||
| std::string input_or_output; | |||
| @@ -306,7 +308,7 @@ Status DataDumper::DumpRefOutput(const DataDumper::InnerDumpInfo &inner_dump_inf | |||
| return SUCCESS; | |||
| } | |||
| Status DataDumper::DumpOutputWithTask(const InnerDumpInfo &inner_dump_info, aicpu::dump::Task &task) { | |||
| Status DataDumper::DumpOutputWithTask(const InnerDumpInfo &inner_dump_info, toolkit::aicpu::dump::Task &task) { | |||
| const auto &output_descs = inner_dump_info.op->GetAllOutputsDesc(); | |||
| const std::vector<void *> output_addrs = ModelUtils::GetOutputDataAddrs(*runtime_param_, inner_dump_info.op); | |||
| std::vector<int64_t> v_memory_type; | |||
| @@ -318,7 +320,7 @@ Status DataDumper::DumpOutputWithTask(const InnerDumpInfo &inner_dump_info, aicp | |||
| size_t no_need_dump_output_num = 0; | |||
| for (size_t i = 0; i < output_descs.size(); ++i) { | |||
| aicpu::dump::Output output; | |||
| toolkit::aicpu::dump::Output output; | |||
| std::string node_name_index; | |||
| const auto &output_desc = output_descs.at(i); | |||
| int32_t calc_type = 0; | |||
| @@ -370,14 +372,14 @@ Status DataDumper::DumpOutputWithTask(const InnerDumpInfo &inner_dump_info, aicp | |||
| return SUCCESS; | |||
| } | |||
| Status DataDumper::DumpOutput(const InnerDumpInfo &inner_dump_info, aicpu::dump::Task &task) { | |||
| Status DataDumper::DumpOutput(const InnerDumpInfo &inner_dump_info, toolkit::aicpu::dump::Task &task) { | |||
| GELOGI("Start dump output"); | |||
| if (inner_dump_info.is_task) { | |||
| // tbe or aicpu op, these ops are with task | |||
| return DumpOutputWithTask(inner_dump_info, task); | |||
| } | |||
| // else data, const or variable op | |||
| aicpu::dump::Output output; | |||
| toolkit::aicpu::dump::Output output; | |||
| auto output_tensor = inner_dump_info.op->GetOutputDescPtr(inner_dump_info.output_anchor_index); | |||
| const std::vector<void *> output_addrs = ModelUtils::GetOutputDataAddrs(*runtime_param_, inner_dump_info.op); | |||
| if (output_tensor == nullptr) { | |||
| @@ -422,7 +424,7 @@ Status DataDumper::DumpOutput(const InnerDumpInfo &inner_dump_info, aicpu::dump: | |||
| return SUCCESS; | |||
| } | |||
| Status DataDumper::GenerateInput(aicpu::dump::Input &input, const OpDesc::Vistor<GeTensorDesc> &tensor_descs, | |||
| Status DataDumper::GenerateInput(toolkit::aicpu::dump::Input &input, const OpDesc::Vistor<GeTensorDesc> &tensor_descs, | |||
| const uintptr_t &addr, size_t index) { | |||
| input.set_data_type(static_cast<int32_t>(GetIrDataType(tensor_descs.at(index).GetDataType()))); | |||
| input.set_format(static_cast<int32_t>(tensor_descs.at(index).GetFormat())); | |||
| @@ -447,8 +449,8 @@ Status DataDumper::GenerateInput(aicpu::dump::Input &input, const OpDesc::Vistor | |||
| return SUCCESS; | |||
| } | |||
| Status DataDumper::DumpRefInput(const DataDumper::InnerDumpInfo &inner_dump_info, aicpu::dump::Input &input, size_t i, | |||
| const std::string &node_name_index) { | |||
| Status DataDumper::DumpRefInput(const DataDumper::InnerDumpInfo &inner_dump_info, toolkit::aicpu::dump::Input &input, | |||
| size_t i, const std::string &node_name_index) { | |||
| std::string dump_op_name; | |||
| std::string input_or_output; | |||
| size_t index; | |||
| @@ -488,7 +490,7 @@ Status DataDumper::DumpRefInput(const DataDumper::InnerDumpInfo &inner_dump_info | |||
| return SUCCESS; | |||
| } | |||
| Status DataDumper::DumpInput(const InnerDumpInfo &inner_dump_info, aicpu::dump::Task &task) { | |||
| Status DataDumper::DumpInput(const InnerDumpInfo &inner_dump_info, toolkit::aicpu::dump::Task &task) { | |||
| GELOGI("Start dump input"); | |||
| const auto &input_descs = inner_dump_info.op->GetAllInputsDesc(); | |||
| const std::vector<void *> input_addrs = ModelUtils::GetInputDataAddrs(*runtime_param_, inner_dump_info.op); | |||
| @@ -507,7 +509,7 @@ Status DataDumper::DumpInput(const InnerDumpInfo &inner_dump_info, aicpu::dump:: | |||
| inner_dump_info.op->GetName().c_str(), input_descs.size(), v_memory_type.size()); | |||
| for (size_t i = 0; i < input_descs.size(); ++i) { | |||
| aicpu::dump::Input input; | |||
| toolkit::aicpu::dump::Input input; | |||
| std::string node_name_index; | |||
| // check dump input tensor desc is redirected by attr ATTR_DATA_DUMP_REF | |||
| if (AttrUtils::GetStr(&input_descs.at(i), ATTR_DATA_DUMP_REF, node_name_index)) { | |||
| @@ -538,15 +540,15 @@ Status DataDumper::DumpInput(const InnerDumpInfo &inner_dump_info, aicpu::dump:: | |||
| return SUCCESS; | |||
| } | |||
| void DataDumper::GenerateOpBuffer(const int64_t &size, aicpu::dump::Task &task) { | |||
| aicpu::dump::OpBuffer op_buffer; | |||
| op_buffer.set_buffer_type(aicpu::dump::BufferType::L1); | |||
| void DataDumper::GenerateOpBuffer(const int64_t &size, toolkit::aicpu::dump::Task &task) { | |||
| toolkit::aicpu::dump::OpBuffer op_buffer; | |||
| op_buffer.set_buffer_type(toolkit::aicpu::dump::BufferType::L1); | |||
| op_buffer.set_address(reinterpret_cast<uintptr_t>(l1_fusion_addr_)); | |||
| op_buffer.set_size(size); | |||
| task.mutable_buffer()->Add(std::move(op_buffer)); | |||
| } | |||
| Status DataDumper::ExecuteLoadDumpInfo(aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| Status DataDumper::ExecuteLoadDumpInfo(toolkit::aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| std::string proto_str; | |||
| size_t proto_size = op_mapping_info.ByteSizeLong(); | |||
| bool ret = op_mapping_info.SerializeToString(&proto_str); | |||
| @@ -590,7 +592,7 @@ Status DataDumper::ExecuteLoadDumpInfo(aicpu::dump::OpMappingInfo &op_mapping_in | |||
| return SUCCESS; | |||
| } | |||
| Status DataDumper::ExecuteUnLoadDumpInfo(aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| Status DataDumper::ExecuteUnLoadDumpInfo(toolkit::aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| std::string proto_str; | |||
| size_t proto_size = op_mapping_info.ByteSizeLong(); | |||
| bool ret = op_mapping_info.SerializeToString(&proto_str); | |||
| @@ -641,7 +643,7 @@ Status DataDumper::LoadDumpInfo() { | |||
| GELOGD("op_list_ is empty"); | |||
| } | |||
| aicpu::dump::OpMappingInfo op_mapping_info; | |||
| toolkit::aicpu::dump::OpMappingInfo op_mapping_info; | |||
| auto dump_path = dump_properties_.GetDumpPath() + std::to_string(device_id_) + "/"; | |||
| op_mapping_info.set_dump_path(dump_path); | |||
| @@ -670,11 +672,11 @@ Status DataDumper::LoadDumpInfo() { | |||
| return SUCCESS; | |||
| } | |||
| Status DataDumper::BuildTaskInfo(aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| Status DataDumper::BuildTaskInfo(toolkit::aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| for (const auto &op_iter : op_list_) { | |||
| auto op_desc = op_iter.op; | |||
| GELOGD("Op %s in model begin to add task in op_mapping_info", op_desc->GetName().c_str()); | |||
| aicpu::dump::Task task; | |||
| toolkit::aicpu::dump::Task task; | |||
| task.set_end_graph(false); | |||
| task.set_task_id(op_iter.task_id); | |||
| task.set_stream_id(op_iter.stream_id); | |||
| @@ -722,10 +724,10 @@ Status DataDumper::BuildTaskInfo(aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| } | |||
| void DataDumper::SetEndGraphIdToAicpu(uint32_t task_id, uint32_t stream_id, | |||
| aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| toolkit::aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| if (dump_properties_.GetDumpMode() == kDumpOutput || dump_properties_.GetDumpMode() == kDumpInput || | |||
| dump_properties_.GetDumpMode() == kDumpAll) { | |||
| aicpu::dump::Task task; | |||
| toolkit::aicpu::dump::Task task; | |||
| task.set_end_graph(true); | |||
| task.set_task_id(end_graph_task_id_); | |||
| task.set_stream_id(end_graph_stream_id_); | |||
| @@ -734,7 +736,7 @@ void DataDumper::SetEndGraphIdToAicpu(uint32_t task_id, uint32_t stream_id, | |||
| op_mapping_info.mutable_task()->Add(std::move(task)); | |||
| is_end_graph_ = true; | |||
| if (op_mapping_info.model_name_param_case() == aicpu::dump::OpMappingInfo::kModelName) { | |||
| if (op_mapping_info.model_name_param_case() == toolkit::aicpu::dump::OpMappingInfo::kModelName) { | |||
| GELOGI("Add end_graph_info to aicpu, model_name is %s, task_id is %u, stream_id is %u", | |||
| op_mapping_info.model_name().c_str(), end_graph_task_id_, end_graph_stream_id_); | |||
| return; | |||
| @@ -744,10 +746,10 @@ void DataDumper::SetEndGraphIdToAicpu(uint32_t task_id, uint32_t stream_id, | |||
| } | |||
| void DataDumper::SetOpDebugIdToAicpu(uint32_t task_id, uint32_t stream_id, void *op_debug_addr, | |||
| aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| toolkit::aicpu::dump::OpMappingInfo &op_mapping_info) { | |||
| if (is_op_debug_) { | |||
| GELOGI("add op_debug_info to aicpu, task_id is %u, stream_id is %u", task_id, stream_id); | |||
| aicpu::dump::Task task; | |||
| toolkit::aicpu::dump::Task task; | |||
| task.set_end_graph(false); | |||
| task.set_task_id(task_id); | |||
| task.set_stream_id(stream_id); | |||
| @@ -755,7 +757,7 @@ void DataDumper::SetOpDebugIdToAicpu(uint32_t task_id, uint32_t stream_id, void | |||
| task.mutable_op()->set_op_type(OP_TYPE_OP_DEBUG); | |||
| // set output | |||
| aicpu::dump::Output output; | |||
| toolkit::aicpu::dump::Output output; | |||
| output.set_data_type(DT_UINT8); | |||
| output.set_format(FORMAT_ND); | |||
| @@ -781,12 +783,12 @@ Status DataDumper::UnloadDumpInfo() { | |||
| } | |||
| GELOGI("UnloadDumpInfo start."); | |||
| aicpu::dump::OpMappingInfo op_mapping_info; | |||
| toolkit::aicpu::dump::OpMappingInfo op_mapping_info; | |||
| op_mapping_info.set_model_id(model_id_); | |||
| op_mapping_info.set_flag(kAicpuUnloadFlag); | |||
| for (const auto &op_iter : op_list_) { | |||
| aicpu::dump::Task task; | |||
| toolkit::aicpu::dump::Task task; | |||
| task.set_task_id(op_iter.task_id); | |||
| task.set_stream_id(op_iter.stream_id); | |||
| op_mapping_info.mutable_task()->Add(std::move(task)); | |||
| @@ -27,7 +27,7 @@ | |||
| #include "graph/node.h" | |||
| #include "graph/compute_graph.h" | |||
| #include "proto/ge_ir.pb.h" | |||
| #include "proto/op_mapping_info.pb.h" | |||
| #include "proto/op_mapping.pb.h" | |||
| #include "runtime/mem.h" | |||
| #include "task_info/task_info.h" | |||
| #include "framework/common/ge_types.h" | |||
| @@ -128,24 +128,25 @@ class DataDumper { | |||
| DumpProperties dump_properties_; | |||
| // Build task info of op mapping info | |||
| Status BuildTaskInfo(aicpu::dump::OpMappingInfo &op_mapping_info); | |||
| Status DumpOutput(const InnerDumpInfo &inner_dump_info, aicpu::dump::Task &task); | |||
| Status DumpRefOutput(const DataDumper::InnerDumpInfo &inner_dump_info, aicpu::dump::Output &output, size_t i, | |||
| const std::string &node_name_index); | |||
| Status DumpOutputWithTask(const InnerDumpInfo &inner_dump_info, aicpu::dump::Task &task); | |||
| Status DumpInput(const InnerDumpInfo &inner_dump_info, aicpu::dump::Task &task); | |||
| Status DumpRefInput(const DataDumper::InnerDumpInfo &inner_dump_info, aicpu::dump::Input &input, size_t i, | |||
| const std::string &node_name_index); | |||
| Status ExecuteLoadDumpInfo(aicpu::dump::OpMappingInfo &op_mapping_info); | |||
| void SetEndGraphIdToAicpu(uint32_t task_id, uint32_t stream_id, aicpu::dump::OpMappingInfo &op_mapping_info); | |||
| Status BuildTaskInfo(toolkit::aicpu::dump::OpMappingInfo &op_mapping_info); | |||
| Status DumpOutput(const InnerDumpInfo &inner_dump_info, toolkit::aicpu::dump::Task &task); | |||
| Status DumpRefOutput(const DataDumper::InnerDumpInfo &inner_dump_info, toolkit::aicpu::dump::Output &output, | |||
| size_t i, const std::string &node_name_index); | |||
| Status DumpOutputWithTask(const InnerDumpInfo &inner_dump_info, toolkit::aicpu::dump::Task &task); | |||
| Status DumpInput(const InnerDumpInfo &inner_dump_info, toolkit::aicpu::dump::Task &task); | |||
| Status DumpRefInput(const DataDumper::InnerDumpInfo &inner_dump_info, toolkit::aicpu::dump::Input &input, | |||
| size_t i, const std::string &node_name_index); | |||
| Status ExecuteLoadDumpInfo(toolkit::aicpu::dump::OpMappingInfo &op_mapping_info); | |||
| void SetEndGraphIdToAicpu(uint32_t task_id, uint32_t stream_id, | |||
| toolkit::aicpu::dump::OpMappingInfo &op_mapping_info); | |||
| void SetOpDebugIdToAicpu(uint32_t task_id, uint32_t stream_id, void *op_debug_addr, | |||
| aicpu::dump::OpMappingInfo &op_mapping_info); | |||
| Status ExecuteUnLoadDumpInfo(aicpu::dump::OpMappingInfo &op_mapping_info); | |||
| Status GenerateInput(aicpu::dump::Input &input, const OpDesc::Vistor<GeTensorDesc> &tensor_descs, | |||
| toolkit::aicpu::dump::OpMappingInfo &op_mapping_info); | |||
| Status ExecuteUnLoadDumpInfo(toolkit::aicpu::dump::OpMappingInfo &op_mapping_info); | |||
| Status GenerateInput(toolkit::aicpu::dump::Input &input, const OpDesc::Vistor<GeTensorDesc> &tensor_descs, | |||
| const uintptr_t &addr, size_t index); | |||
| Status GenerateOutput(aicpu::dump::Output &output, const OpDesc::Vistor<GeTensorDesc> &tensor_descs, | |||
| Status GenerateOutput(toolkit::aicpu::dump::Output &output, const OpDesc::Vistor<GeTensorDesc> &tensor_descs, | |||
| const uintptr_t &addr, size_t index); | |||
| void GenerateOpBuffer(const int64_t &size, aicpu::dump::Task &task); | |||
| void GenerateOpBuffer(const int64_t &size, toolkit::aicpu::dump::Task &task); | |||
| }; | |||
| struct DataDumper::InnerDumpInfo { | |||
| uint32_t task_id; | |||
| @@ -1,5 +1,5 @@ | |||
| syntax = "proto3"; | |||
| package toolkit.dumpdata; | |||
| package toolkit.dump; | |||
| enum OutputDataType { | |||
| DT_UNDEFINED = 0; | |||
| @@ -1,5 +1,5 @@ | |||
| syntax = "proto3"; | |||
| package aicpu.dump; | |||
| package toolkit.aicpu.dump; | |||
| message Shape { | |||
| repeated uint64 dim = 1; | |||
| @@ -24,7 +24,7 @@ set(PROTO_LIST | |||
| "${GE_CODE_DIR}/metadef/proto/insert_op.proto" | |||
| "${GE_CODE_DIR}/metadef/proto/dump_task.proto" | |||
| "${GE_CODE_DIR}/metadef/proto/fwk_adapter.proto" | |||
| "${GE_CODE_DIR}/metadef/proto/op_mapping_info.proto" | |||
| "${GE_CODE_DIR}/metadef/proto/op_mapping.proto" | |||
| "${GE_CODE_DIR}/metadef/proto/optimizer_priority.proto" | |||
| "${GE_CODE_DIR}/metadef/proto/ge_api.proto" | |||
| "${GE_CODE_DIR}/metadef/proto/tensorflow/attr_value.proto" | |||
| @@ -51,30 +51,19 @@ static ge::OpDescPtr CreateOpDesc(string name = "", string type = "") { | |||
| return op_desc; | |||
| } | |||
| /* | |||
| TEST_F(UtestDataDumper, LoadDumpInfo_no_output_addrs_fail) { | |||
| TEST_F(UtestDataDumper, LoadDumpInfo_success) { | |||
| RuntimeParam rts_param; | |||
| DataDumper data_dumper(rts_param); | |||
| DataDumper data_dumper(&rts_param); | |||
| data_dumper.SetModelName("test"); | |||
| data_dumper.SetModelId(2333); | |||
| std::shared_ptr<OpDesc> op_desc_1(new OpDesc()); | |||
| op_desc_1->AddOutputDesc("test", GeTensorDesc()); | |||
| data_dumper.SaveDumpTask(0, 0, op_desc_1, 0); | |||
| string dump_mode = "output"; | |||
| data_dumper.is_op_debug_ = true; | |||
| data_dumper.dump_properties_.SetDumpMode(dump_mode); | |||
| Status ret = data_dumper.LoadDumpInfo(); | |||
| EXPECT_EQ(ret, SUCCESS); | |||
| } | |||
| */ | |||
| TEST_F(UtestDataDumper, UnloadDumpInfo_success) { | |||
| RuntimeParam rts_param; | |||
| DataDumper data_dumper(&rts_param); | |||
| data_dumper.SetModelName("test"); | |||
| data_dumper.SetModelId(2333); | |||
| Status ret = data_dumper.UnloadDumpInfo(); | |||
| EXPECT_EQ(ret, SUCCESS); | |||
| EXPECT_EQ(data_dumper.LoadDumpInfo(), SUCCESS); | |||
| EXPECT_EQ(data_dumper.UnloadDumpInfo(), SUCCESS); | |||
| } | |||
| TEST_F(UtestDataDumper, DumpOutputWithTask_success) { | |||
| @@ -83,7 +72,7 @@ TEST_F(UtestDataDumper, DumpOutputWithTask_success) { | |||
| data_dumper.SetModelName("test"); | |||
| data_dumper.SetModelId(2333); | |||
| aicpu::dump::Task task; | |||
| toolkit::aicpu::dump::Task task; | |||
| OpDescPtr op_desc = CreateOpDesc("conv", CONVOLUTION); | |||
| GeTensorDesc tensor_0(GeShape(), FORMAT_NCHW, DT_FLOAT); | |||
| GeTensorDesc tensor_1(GeShape(), FORMAT_NCHW, DT_FLOAT); | |||
| @@ -95,5 +84,7 @@ TEST_F(UtestDataDumper, DumpOutputWithTask_success) { | |||
| inner_dump_info.op = op_desc; | |||
| Status ret = data_dumper.DumpOutputWithTask(inner_dump_info, task); | |||
| EXPECT_EQ(ret, SUCCESS); | |||
| int64_t task_size = 1; | |||
| data_dumper.GenerateOpBuffer(task_size, task); | |||
| } | |||
| } // namespace ge | |||