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

Method to_lite_layout

lite/src/mge/common.cpp:103–142  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

101}
102
103Layout lite::to_lite_layout(const LTensorLayout& mge_layout) {
104 Layout layout;
105 if (!mge_layout.dtype.valid()) {
106 return layout;
107 }
108 layout.ndim = mge_layout.ndim;
109 LITE_ASSERT(layout.ndim < layout.MAXDIM, "tensor layout ndim is to large");
110 for (size_t i = 0; i < layout.ndim; i++) {
111 layout.shapes[i] = mge_layout.shape[i];
112 }
113 switch (mge_layout.dtype.enumv()) {
114 case mgb::DTypeEnum::Float32:
115 layout.data_type = LiteDataType::LITE_FLOAT;
116 break;
117#if !MEGDNN_DISABLE_FLOAT16
118 case mgb::DTypeEnum::Float16:
119 layout.data_type = LiteDataType::LITE_HALF;
120 break;
121#endif
122 case mgb::DTypeEnum::Int32:
123 layout.data_type = LiteDataType::LITE_INT;
124 break;
125 case mgb::DTypeEnum::Int16:
126 layout.data_type = LiteDataType::LITE_INT16;
127 break;
128 case mgb::DTypeEnum::Uint16:
129 layout.data_type = LiteDataType::LITE_UINT16;
130 break;
131 case mgb::DTypeEnum::Int8:
132 layout.data_type = LiteDataType::LITE_INT8;
133 break;
134 case mgb::DTypeEnum::Uint8:
135 layout.data_type = LiteDataType::LITE_UINT8;
136 break;
137 default:
138 LITE_THROW(mgb::ssprintf(
139 "unsupport dtype in lite : %s.", mge_layout.to_string().c_str()));
140 }
141 return layout;
142}
143
144mgb::CompNode::Locator lite::to_compnode_locator(const LiteDeviceType& device) {
145 mgb::CompNode::Locator loc;

Callers

nothing calls this directly

Calls 3

validMethod · 0.45
enumvMethod · 0.45
to_stringMethod · 0.45

Tested by

no test coverage detected