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

Method get_workspace_in_bytes

dnn/src/rocm/reduce/opr_impl.cpp:146–171  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

144}
145
146size_t ReduceForwardImpl::get_workspace_in_bytes(
147 const TensorLayout& src, const TensorLayout& dst) {
148 megdnn_assert(
149 param().data_type != Reduce::DataType::FLOAT_IO16xC32,
150 "FLOAT_IO16xC32 is deprecated");
151 using namespace device_reduce;
152 size_t A, B, C;
153 reduce::get_ABC(src, A, B, C, param().axis);
154#define CASE(_mode, _op) \
155 case _mode: { \
156 return dispatch_dtype_workspace<_op>(src, dst, A, B, C, param().data_type); \
157 break; \
158 }
159
160 switch (param().mode) {
161 CASE(Mode::SUM, SumOp)
162 CASE(Mode::SUM_SQR, SumSqrOp)
163 CASE(Mode::PRODUCT, ProdOp)
164 CASE(Mode::MIN, MinOp)
165 CASE(Mode::MAX, MaxOp)
166 CASE(Mode::MEAN, MeanOp)
167 default:
168 megdnn_assert_internal(false);
169 }
170#undef CASE
171}
172} // namespace rocm
173} // namespace megdnn
174

Callers

nothing calls this directly

Calls 2

get_ABCFunction · 0.85
paramFunction · 0.50

Tested by

no test coverage detected