@@ -11,8 +11,6 @@ elseif (ENABLE_D) | |||||
endif () | endif () | ||||
set(PROTO_LIST | set(PROTO_LIST | ||||
"${METADEF_DIR}/proto/dump_task.proto" | |||||
"${METADEF_DIR}/proto/op_mapping_info.proto" | |||||
"${METADEF_DIR}/proto/fusion_model.proto" | "${METADEF_DIR}/proto/fusion_model.proto" | ||||
"${GE_CODE_DIR}/ge/proto/optimizer_priority.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/insert_op.proto" | ||||
"${METADEF_DIR}/proto/ge_ir.proto" | "${METADEF_DIR}/proto/ge_ir.proto" | ||||
"${METADEF_DIR}/proto/fwk_adapter.proto" | "${METADEF_DIR}/proto/fwk_adapter.proto" | ||||
"${METADEF_DIR}/proto/op_mapping.proto" | |||||
) | ) | ||||
protobuf_generate(ge PROTO_SRCS PROTO_HDRS ${PROTO_LIST}) | protobuf_generate(ge PROTO_SRCS PROTO_HDRS ${PROTO_LIST}) | ||||
@@ -26,7 +26,7 @@ | |||||
#include "graph/op_desc.h" | #include "graph/op_desc.h" | ||||
#include "graph/utils/tensor_utils.h" | #include "graph/utils/tensor_utils.h" | ||||
#include "proto/ge_ir.pb.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 "runtime/mem.h" | ||||
#include "aicpu/common/aicpu_task_struct.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, | 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) { | if (step_id != 0) { | ||||
GELOGI("step_id exists."); | GELOGI("step_id exists."); | ||||
op_mapping_info.set_step_id_addr(static_cast<uint64_t>(step_id)); | 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"); | GELOGI("Start dump output in Launch dump op"); | ||||
const auto &output_descs = op_desc_->GetAllOutputsDesc(); | const auto &output_descs = op_desc_->GetAllOutputsDesc(); | ||||
for (size_t i = 0; i < output_descs.size(); ++i) { | 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_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())); | output.set_format(static_cast<int32_t>(output_descs.at(i).GetFormat())); | ||||
for (auto dim : output_descs.at(i).GetShape().GetDims()) { | for (auto dim : output_descs.at(i).GetShape().GetDims()) { | ||||
@@ -113,11 +113,11 @@ Status DumpOp::DumpOutput(aicpu::dump::Task &task) { | |||||
return SUCCESS; | 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"); | GELOGI("Start dump input in Launch dump op"); | ||||
const auto &input_descs = op_desc_->GetAllInputsDesc(); | const auto &input_descs = op_desc_->GetAllInputsDesc(); | ||||
for (size_t i = 0; i < input_descs.size(); ++i) { | 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_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())); | 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; | 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; | std::string proto_msg; | ||||
size_t proto_size = op_mapping_info.ByteSizeLong(); | size_t proto_size = op_mapping_info.ByteSizeLong(); | ||||
bool ret = op_mapping_info.SerializeToString(&proto_msg); | bool ret = op_mapping_info.SerializeToString(&proto_msg); | ||||
@@ -203,7 +203,7 @@ Status DumpOp::ExecutorDumpOp(aicpu::dump::OpMappingInfo &op_mapping_info) { | |||||
return SUCCESS; | 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()) { | if (dynamic_model_name_.empty() && dynamic_om_name_.empty()) { | ||||
GELOGI("Single op dump, no need set model name"); | GELOGI("Single op dump, no need set model name"); | ||||
return SUCCESS; | return SUCCESS; | ||||
@@ -242,7 +242,7 @@ Status DumpOp::LaunchDumpOp() { | |||||
device_id); | device_id); | ||||
return ACL_ERROR_GE_INTERNAL_ERROR; | 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) + "/"; | auto dump_path = dump_properties_.GetDumpPath() + std::to_string(device_id) + "/"; | ||||
op_mapping_info.set_dump_path(dump_path); | op_mapping_info.set_dump_path(dump_path); | ||||
op_mapping_info.set_flag(kAicpuLoadFlag); | op_mapping_info.set_flag(kAicpuLoadFlag); | ||||
@@ -261,7 +261,7 @@ Status DumpOp::LaunchDumpOp() { | |||||
if (rt_ret != RT_ERROR_NONE) { | if (rt_ret != RT_ERROR_NONE) { | ||||
GELOGW("call rtGetTaskIdAndStreamID failed, ret = 0x%X", rt_ret); | 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_task_id(task_id); | ||||
task.set_stream_id(stream_id); | task.set_stream_id(stream_id); | ||||
task.mutable_op()->set_op_name(op_desc_->GetName()); | task.mutable_op()->set_op_name(op_desc_->GetName()); | ||||
@@ -21,7 +21,7 @@ | |||||
#include "common/ge_inner_error_codes.h" | #include "common/ge_inner_error_codes.h" | ||||
#include "common/properties_manager.h" | #include "common/properties_manager.h" | ||||
#include "proto/op_mapping_info.pb.h" | |||||
#include "proto/op_mapping.pb.h" | |||||
#include "runtime/stream.h" | #include "runtime/stream.h" | ||||
namespace ge { | 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); | void SetDynamicModelInfo(const string &dynamic_model_name, const string &dynamic_om_name, uint32_t dynamic_model_id); | ||||
private: | 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_; | DumpProperties dump_properties_; | ||||
OpDescPtr op_desc_; | 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_version("2.0"); | ||||
dump_data.set_dump_time(GetNowTime()); | dump_data.set_dump_time(GetNowTime()); | ||||
dump_data.set_op_name(op_desc_info.op_name); | dump_data.set_op_name(op_desc_info.op_name); | ||||
for (size_t i = 0; i < op_desc_info.input_format.size(); ++i) { | 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]))); | 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]) { | for (auto dim : op_desc_info.input_shape[i]) { | ||||
input.mutable_shape()->add_dim(dim); | 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) { | 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]))); | 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]) { | for (auto dim : op_desc_info.output_shape[j]) { | ||||
output.mutable_shape()->add_dim(dim); | output.mutable_shape()->add_dim(dim); | ||||
} | } | ||||
@@ -148,7 +148,7 @@ Status ExceptionDumper::DumpExceptionInfo(const std::vector<rtExceptionInfo> &ex | |||||
for (const rtExceptionInfo &iter : exception_infos) { | for (const rtExceptionInfo &iter : exception_infos) { | ||||
OpDescInfo op_desc_info; | OpDescInfo op_desc_info; | ||||
if (GetOpDescInfo(iter.streamid, iter.taskid, 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); | SetDumpData(op_desc_info, dump_data); | ||||
uint64_t now_time = GetNowTime(); | uint64_t now_time = GetNowTime(); | ||||
std::string op_name = op_desc_info.op_name; | std::string op_name = op_desc_info.op_name; | ||||
@@ -1,5 +1,5 @@ | |||||
syntax = "proto3"; | syntax = "proto3"; | ||||
package aicpu.dump; | |||||
package toolkit.aicpu.dump; | |||||
message Shape { | message Shape { | ||||
repeated uint64 dim = 1; | repeated uint64 dim = 1; |
@@ -3,46 +3,12 @@ set(PROTO_LIST | |||||
"${METADEF_DIR}/proto/ge_ir.proto" | "${METADEF_DIR}/proto/ge_ir.proto" | ||||
"${METADEF_DIR}/proto/insert_op.proto" | "${METADEF_DIR}/proto/insert_op.proto" | ||||
"${METADEF_DIR}/proto/task.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/dump_task.proto" | ||||
"${METADEF_DIR}/proto/op_mapping_info.proto" | |||||
) | ) | ||||
protobuf_generate(ge PROTO_SRCS PROTO_HDRS ${PROTO_LIST}) | protobuf_generate(ge PROTO_SRCS PROTO_HDRS ${PROTO_LIST}) | ||||
protobuf_generate(ge_static PROTO_STATIC_SRCS PROTO_STATIC_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 | set(SRC_LIST | ||||
"ge_executor.cc" | "ge_executor.cc" | ||||
@@ -227,7 +193,6 @@ target_include_directories(ge_executor SYSTEM PRIVATE | |||||
${METADEF_DIR}/inc/external/graph | ${METADEF_DIR}/inc/external/graph | ||||
${METADEF_DIR}/inc/graph | ${METADEF_DIR}/inc/graph | ||||
${CMAKE_BINARY_DIR} | ${CMAKE_BINARY_DIR} | ||||
${CMAKE_BINARY_DIR}/proto/ge_dump | |||||
${CMAKE_BINARY_DIR}/proto/ge_static | ${CMAKE_BINARY_DIR}/proto/ge_static | ||||
#### yellow zone #### | #### yellow zone #### | ||||
${GE_CODE_DIR}/../inc | ${GE_CODE_DIR}/../inc | ||||
@@ -240,7 +205,6 @@ target_link_libraries(ge_executor PRIVATE | |||||
$<BUILD_INTERFACE:intf_pub> | $<BUILD_INTERFACE:intf_pub> | ||||
json | json | ||||
ascend_protobuf_static | ascend_protobuf_static | ||||
ge_proto_dump | |||||
c_sec | c_sec | ||||
$<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Android>>:-lrt> | $<$<NOT:$<STREQUAL:${TARGET_SYSTEM_NAME},Android>>:-lrt> | ||||
-ldl | -ldl | ||||
@@ -275,7 +239,6 @@ target_include_directories(ge_executor_shared PRIVATE | |||||
${METADEF_DIR}/inc/external/graph | ${METADEF_DIR}/inc/external/graph | ||||
${METADEF_DIR}/inc/graph | ${METADEF_DIR}/inc/graph | ||||
${CMAKE_BINARY_DIR} | ${CMAKE_BINARY_DIR} | ||||
${CMAKE_BINARY_DIR}/proto/ge_dump | |||||
${CMAKE_BINARY_DIR}/proto/ge | ${CMAKE_BINARY_DIR}/proto/ge | ||||
#### yellow zone #### | #### yellow zone #### | ||||
${GE_CODE_DIR}/../inc | ${GE_CODE_DIR}/../inc | ||||
@@ -291,7 +254,6 @@ target_link_options(ge_executor_shared PRIVATE | |||||
target_link_libraries(ge_executor_shared PRIVATE | target_link_libraries(ge_executor_shared PRIVATE | ||||
$<BUILD_INTERFACE:intf_pub> | $<BUILD_INTERFACE:intf_pub> | ||||
ge_proto_dump | |||||
-Wl,--no-as-needed | -Wl,--no-as-needed | ||||
ge_common | ge_common | ||||
runtime | runtime | ||||
@@ -1,5 +1,5 @@ | |||||
syntax = "proto3"; | syntax = "proto3"; | ||||
package toolkit.dumpdata; | |||||
package toolkit.dump; | |||||
enum OutputDataType { | enum OutputDataType { | ||||
DT_UNDEFINED = 0; | DT_UNDEFINED = 0; | ||||
@@ -1,5 +1,5 @@ | |||||
syntax = "proto3"; | syntax = "proto3"; | ||||
package aicpu.dump; | |||||
package toolkit.aicpu.dump; | |||||
message Shape { | message Shape { | ||||
repeated uint64 dim = 1; | repeated uint64 dim = 1; |
@@ -35,7 +35,7 @@ | |||||
#include "graph/utils/tensor_utils.h" | #include "graph/utils/tensor_utils.h" | ||||
#include "proto/dump_task.pb.h" | #include "proto/dump_task.pb.h" | ||||
#include "proto/ge_ir.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/base.h" | ||||
#include "runtime/mem.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, | 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) { | if (step_id != 0) { | ||||
GELOGI("step_id exists."); | GELOGI("step_id exists."); | ||||
op_mapping_info.set_step_id_addr(static_cast<uint64_t>(step_id)); | 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) { | const uintptr_t &addr, size_t index) { | ||||
output.set_data_type(static_cast<int32_t>(GetIrDataType(tensor_descs.at(index).GetDataType()))); | 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())); | 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; | 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) { | size_t i, const std::string &node_name_index) { | ||||
std::string dump_op_name; | std::string dump_op_name; | ||||
std::string input_or_output; | std::string input_or_output; | ||||
@@ -306,7 +308,7 @@ Status DataDumper::DumpRefOutput(const DataDumper::InnerDumpInfo &inner_dump_inf | |||||
return SUCCESS; | 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 auto &output_descs = inner_dump_info.op->GetAllOutputsDesc(); | ||||
const std::vector<void *> output_addrs = ModelUtils::GetOutputDataAddrs(*runtime_param_, inner_dump_info.op); | const std::vector<void *> output_addrs = ModelUtils::GetOutputDataAddrs(*runtime_param_, inner_dump_info.op); | ||||
std::vector<int64_t> v_memory_type; | 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; | size_t no_need_dump_output_num = 0; | ||||
for (size_t i = 0; i < output_descs.size(); ++i) { | for (size_t i = 0; i < output_descs.size(); ++i) { | ||||
aicpu::dump::Output output; | |||||
toolkit::aicpu::dump::Output output; | |||||
std::string node_name_index; | std::string node_name_index; | ||||
const auto &output_desc = output_descs.at(i); | const auto &output_desc = output_descs.at(i); | ||||
int32_t calc_type = 0; | int32_t calc_type = 0; | ||||
@@ -370,14 +372,14 @@ Status DataDumper::DumpOutputWithTask(const InnerDumpInfo &inner_dump_info, aicp | |||||
return SUCCESS; | 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"); | GELOGI("Start dump output"); | ||||
if (inner_dump_info.is_task) { | if (inner_dump_info.is_task) { | ||||
// tbe or aicpu op, these ops are with task | // tbe or aicpu op, these ops are with task | ||||
return DumpOutputWithTask(inner_dump_info, task); | return DumpOutputWithTask(inner_dump_info, task); | ||||
} | } | ||||
// else data, const or variable op | // 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); | 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); | const std::vector<void *> output_addrs = ModelUtils::GetOutputDataAddrs(*runtime_param_, inner_dump_info.op); | ||||
if (output_tensor == nullptr) { | if (output_tensor == nullptr) { | ||||
@@ -422,7 +424,7 @@ Status DataDumper::DumpOutput(const InnerDumpInfo &inner_dump_info, aicpu::dump: | |||||
return SUCCESS; | 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) { | const uintptr_t &addr, size_t index) { | ||||
input.set_data_type(static_cast<int32_t>(GetIrDataType(tensor_descs.at(index).GetDataType()))); | 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())); | 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; | 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 dump_op_name; | ||||
std::string input_or_output; | std::string input_or_output; | ||||
size_t index; | size_t index; | ||||
@@ -488,7 +490,7 @@ Status DataDumper::DumpRefInput(const DataDumper::InnerDumpInfo &inner_dump_info | |||||
return SUCCESS; | 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"); | GELOGI("Start dump input"); | ||||
const auto &input_descs = inner_dump_info.op->GetAllInputsDesc(); | const auto &input_descs = inner_dump_info.op->GetAllInputsDesc(); | ||||
const std::vector<void *> input_addrs = ModelUtils::GetInputDataAddrs(*runtime_param_, inner_dump_info.op); | 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()); | inner_dump_info.op->GetName().c_str(), input_descs.size(), v_memory_type.size()); | ||||
for (size_t i = 0; i < input_descs.size(); ++i) { | for (size_t i = 0; i < input_descs.size(); ++i) { | ||||
aicpu::dump::Input input; | |||||
toolkit::aicpu::dump::Input input; | |||||
std::string node_name_index; | std::string node_name_index; | ||||
// check dump input tensor desc is redirected by attr ATTR_DATA_DUMP_REF | // 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)) { | 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; | 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_address(reinterpret_cast<uintptr_t>(l1_fusion_addr_)); | ||||
op_buffer.set_size(size); | op_buffer.set_size(size); | ||||
task.mutable_buffer()->Add(std::move(op_buffer)); | 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; | std::string proto_str; | ||||
size_t proto_size = op_mapping_info.ByteSizeLong(); | size_t proto_size = op_mapping_info.ByteSizeLong(); | ||||
bool ret = op_mapping_info.SerializeToString(&proto_str); | bool ret = op_mapping_info.SerializeToString(&proto_str); | ||||
@@ -590,7 +592,7 @@ Status DataDumper::ExecuteLoadDumpInfo(aicpu::dump::OpMappingInfo &op_mapping_in | |||||
return SUCCESS; | 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; | std::string proto_str; | ||||
size_t proto_size = op_mapping_info.ByteSizeLong(); | size_t proto_size = op_mapping_info.ByteSizeLong(); | ||||
bool ret = op_mapping_info.SerializeToString(&proto_str); | bool ret = op_mapping_info.SerializeToString(&proto_str); | ||||
@@ -641,7 +643,7 @@ Status DataDumper::LoadDumpInfo() { | |||||
GELOGD("op_list_ is empty"); | 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_) + "/"; | auto dump_path = dump_properties_.GetDumpPath() + std::to_string(device_id_) + "/"; | ||||
op_mapping_info.set_dump_path(dump_path); | op_mapping_info.set_dump_path(dump_path); | ||||
@@ -670,11 +672,11 @@ Status DataDumper::LoadDumpInfo() { | |||||
return SUCCESS; | 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_) { | for (const auto &op_iter : op_list_) { | ||||
auto op_desc = op_iter.op; | auto op_desc = op_iter.op; | ||||
GELOGD("Op %s in model begin to add task in op_mapping_info", op_desc->GetName().c_str()); | 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_end_graph(false); | ||||
task.set_task_id(op_iter.task_id); | task.set_task_id(op_iter.task_id); | ||||
task.set_stream_id(op_iter.stream_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, | 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 || | if (dump_properties_.GetDumpMode() == kDumpOutput || dump_properties_.GetDumpMode() == kDumpInput || | ||||
dump_properties_.GetDumpMode() == kDumpAll) { | dump_properties_.GetDumpMode() == kDumpAll) { | ||||
aicpu::dump::Task task; | |||||
toolkit::aicpu::dump::Task task; | |||||
task.set_end_graph(true); | task.set_end_graph(true); | ||||
task.set_task_id(end_graph_task_id_); | task.set_task_id(end_graph_task_id_); | ||||
task.set_stream_id(end_graph_stream_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)); | op_mapping_info.mutable_task()->Add(std::move(task)); | ||||
is_end_graph_ = true; | 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", | 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_); | op_mapping_info.model_name().c_str(), end_graph_task_id_, end_graph_stream_id_); | ||||
return; | 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, | 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_) { | if (is_op_debug_) { | ||||
GELOGI("add op_debug_info to aicpu, task_id is %u, stream_id is %u", task_id, stream_id); | 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_end_graph(false); | ||||
task.set_task_id(task_id); | task.set_task_id(task_id); | ||||
task.set_stream_id(stream_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); | task.mutable_op()->set_op_type(OP_TYPE_OP_DEBUG); | ||||
// set output | // set output | ||||
aicpu::dump::Output output; | |||||
toolkit::aicpu::dump::Output output; | |||||
output.set_data_type(DT_UINT8); | output.set_data_type(DT_UINT8); | ||||
output.set_format(FORMAT_ND); | output.set_format(FORMAT_ND); | ||||
@@ -781,12 +783,12 @@ Status DataDumper::UnloadDumpInfo() { | |||||
} | } | ||||
GELOGI("UnloadDumpInfo start."); | 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_model_id(model_id_); | ||||
op_mapping_info.set_flag(kAicpuUnloadFlag); | op_mapping_info.set_flag(kAicpuUnloadFlag); | ||||
for (const auto &op_iter : op_list_) { | 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_task_id(op_iter.task_id); | ||||
task.set_stream_id(op_iter.stream_id); | task.set_stream_id(op_iter.stream_id); | ||||
op_mapping_info.mutable_task()->Add(std::move(task)); | op_mapping_info.mutable_task()->Add(std::move(task)); | ||||
@@ -27,7 +27,7 @@ | |||||
#include "graph/node.h" | #include "graph/node.h" | ||||
#include "graph/compute_graph.h" | #include "graph/compute_graph.h" | ||||
#include "proto/ge_ir.pb.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 "runtime/mem.h" | ||||
#include "task_info/task_info.h" | #include "task_info/task_info.h" | ||||
#include "framework/common/ge_types.h" | #include "framework/common/ge_types.h" | ||||
@@ -128,24 +128,25 @@ class DataDumper { | |||||
DumpProperties dump_properties_; | DumpProperties dump_properties_; | ||||
// Build task info of op mapping info | // 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, | 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); | 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); | 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 { | struct DataDumper::InnerDumpInfo { | ||||
uint32_t task_id; | uint32_t task_id; | ||||
@@ -1,5 +1,5 @@ | |||||
syntax = "proto3"; | syntax = "proto3"; | ||||
package toolkit.dumpdata; | |||||
package toolkit.dump; | |||||
enum OutputDataType { | enum OutputDataType { | ||||
DT_UNDEFINED = 0; | DT_UNDEFINED = 0; | ||||
@@ -1,5 +1,5 @@ | |||||
syntax = "proto3"; | syntax = "proto3"; | ||||
package aicpu.dump; | |||||
package toolkit.aicpu.dump; | |||||
message Shape { | message Shape { | ||||
repeated uint64 dim = 1; | repeated uint64 dim = 1; |
@@ -24,7 +24,7 @@ set(PROTO_LIST | |||||
"${GE_CODE_DIR}/metadef/proto/insert_op.proto" | "${GE_CODE_DIR}/metadef/proto/insert_op.proto" | ||||
"${GE_CODE_DIR}/metadef/proto/dump_task.proto" | "${GE_CODE_DIR}/metadef/proto/dump_task.proto" | ||||
"${GE_CODE_DIR}/metadef/proto/fwk_adapter.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/optimizer_priority.proto" | ||||
"${GE_CODE_DIR}/metadef/proto/ge_api.proto" | "${GE_CODE_DIR}/metadef/proto/ge_api.proto" | ||||
"${GE_CODE_DIR}/metadef/proto/tensorflow/attr_value.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; | return op_desc; | ||||
} | } | ||||
/* | |||||
TEST_F(UtestDataDumper, LoadDumpInfo_no_output_addrs_fail) { | |||||
TEST_F(UtestDataDumper, LoadDumpInfo_success) { | |||||
RuntimeParam rts_param; | RuntimeParam rts_param; | ||||
DataDumper data_dumper(rts_param); | |||||
DataDumper data_dumper(&rts_param); | |||||
data_dumper.SetModelName("test"); | data_dumper.SetModelName("test"); | ||||
data_dumper.SetModelId(2333); | data_dumper.SetModelId(2333); | ||||
std::shared_ptr<OpDesc> op_desc_1(new OpDesc()); | std::shared_ptr<OpDesc> op_desc_1(new OpDesc()); | ||||
op_desc_1->AddOutputDesc("test", GeTensorDesc()); | op_desc_1->AddOutputDesc("test", GeTensorDesc()); | ||||
data_dumper.SaveDumpTask(0, 0, op_desc_1, 0); | data_dumper.SaveDumpTask(0, 0, op_desc_1, 0); | ||||
string dump_mode = "output"; | string dump_mode = "output"; | ||||
data_dumper.is_op_debug_ = true; | |||||
data_dumper.dump_properties_.SetDumpMode(dump_mode); | 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) { | TEST_F(UtestDataDumper, DumpOutputWithTask_success) { | ||||
@@ -83,7 +72,7 @@ TEST_F(UtestDataDumper, DumpOutputWithTask_success) { | |||||
data_dumper.SetModelName("test"); | data_dumper.SetModelName("test"); | ||||
data_dumper.SetModelId(2333); | data_dumper.SetModelId(2333); | ||||
aicpu::dump::Task task; | |||||
toolkit::aicpu::dump::Task task; | |||||
OpDescPtr op_desc = CreateOpDesc("conv", CONVOLUTION); | OpDescPtr op_desc = CreateOpDesc("conv", CONVOLUTION); | ||||
GeTensorDesc tensor_0(GeShape(), FORMAT_NCHW, DT_FLOAT); | GeTensorDesc tensor_0(GeShape(), FORMAT_NCHW, DT_FLOAT); | ||||
GeTensorDesc tensor_1(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; | inner_dump_info.op = op_desc; | ||||
Status ret = data_dumper.DumpOutputWithTask(inner_dump_info, task); | Status ret = data_dumper.DumpOutputWithTask(inner_dump_info, task); | ||||
EXPECT_EQ(ret, SUCCESS); | EXPECT_EQ(ret, SUCCESS); | ||||
int64_t task_size = 1; | |||||
data_dumper.GenerateOpBuffer(task_size, task); | |||||
} | } | ||||
} // namespace ge | } // namespace ge |