MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / build_middle_tensor

Method build_middle_tensor

src/serialization/impl/serializer_oss_v2.cpp:69–99  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

67}
68
69flatbuffers::Offset<fbs::v2::MiddleTensor> GraphDumperOSSV2::build_middle_tensor(
70 const SymbolVar var) {
71 mgb_assert(var.node());
72 auto fbname = m_builder.CreateSharedString(var.node()->name());
73 flatbuffers::Offset<fbs::v2::MiddleTensor> serialized_middle_tensor;
74 if (var.node()->dev_tensor_valid()) {
75 auto layout = var.node()->layout();
76 auto fshape =
77 m_builder.CreateVectorScalarCast<uint32_t>(layout.shape, layout.ndim);
78
79 auto fcomp_node = fbs::v2::CreateCompNode(
80 m_builder, m_builder.CreateSharedString(
81 var.node()->comp_node().to_string_logical()));
82
83 auto fdtype = build_dtype(layout.dtype);
84 auto fformat_type = get_flatbuffer_tensor_format_type(layout.format);
85 auto fformat = build_tensor_format(layout.format);
86 serialized_middle_tensor = fbs::v2::CreateMiddleTensor(
87 m_builder, fbname, fshape, fcomp_node, fdtype, fformat_type, fformat);
88 } else if (var.node()->shape().ndim > 0) {
89 auto shape = var.node()->shape();
90 auto fshape =
91 m_builder.CreateVectorScalarCast<uint32_t>(shape.shape, shape.ndim);
92 serialized_middle_tensor =
93 fbs::v2::CreateMiddleTensor(m_builder, fbname, fshape);
94
95 } else {
96 serialized_middle_tensor = fbs::v2::CreateMiddleTensor(m_builder, fbname);
97 }
98 return serialized_middle_tensor;
99}
100
101flatbuffers::Offset<fbs::v2::OutputVar> GraphDumperOSSV2::build_output_var(
102 const SymbolVar var) {

Callers

nothing calls this directly

Calls 9

build_dtypeFunction · 0.85
dev_tensor_validMethod · 0.80
to_string_logicalMethod · 0.80
nodeMethod · 0.45
nameMethod · 0.45
layoutMethod · 0.45
comp_nodeMethod · 0.45
shapeMethod · 0.45

Tested by

no test coverage detected