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

Function get_layouts

dnn/src/fallback/conv_bias/algos.cpp:38–58  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

36}
37
38TensorLayoutArray get_layouts(const ConvBiasImpl::NCBKernSizeParam& p) {
39 megdnn_assert(p.filter_meta.format == param::ConvBias::Format::NCHW);
40 UNPACK_CONV_NCB_KERN_SIZES(p);
41 MEGDNN_MARK_USED_VAR(SH);
42 MEGDNN_MARK_USED_VAR(SW);
43 MEGDNN_MARK_USED_VAR(PH);
44 MEGDNN_MARK_USED_VAR(PW);
45 MEGDNN_MARK_USED_VAR(OW);
46 MEGDNN_MARK_USED_VAR(OH);
47 MEGDNN_MARK_USED_VAR(N);
48 TensorLayout src_layout({1, IC, IH, IW}, p.src_type);
49 TensorLayout filter_layout({OC, IC, FH, FW}, p.filter_type);
50 TensorLayout bias_layout{{}, p.bias_type};
51 if (p.bias_mode == BiasMode::BROADCAST_CHANNEL_BIAS) {
52 bias_layout = TensorLayout({1, OC, 1, 1}, p.bias_type);
53 } else if (p.bias_mode == BiasMode::BIAS) {
54 bias_layout = TensorLayout({1, OC, OH, OW}, p.bias_type);
55 }
56 TensorLayout dst_layout = TensorLayout({1, OC, OH, OW}, p.dst_type);
57 return {src_layout, filter_layout, bias_layout, dst_layout};
58}
59
60void kern_default(const ConvBiasImpl::NCBKernParam& p) {
61 dt_byte* workspace_ptr = static_cast<dt_byte*>(p.workspace_ptr);

Callers 2

kern_defaultFunction · 0.70
get_workspaceMethod · 0.70

Calls 1

TensorLayoutClass · 0.85

Tested by

no test coverage detected