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

Method get_workspace_bundle

dnn/src/cuda/pooling/algo.cpp:55–69  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

53}
54
55WorkspaceBundle PoolingForwardImpl::AlgoBase::get_workspace_bundle(
56 void* ptr, const SizeArgs& args) const {
57 SmallVector<size_t> sizes;
58 TensorLayout fsrc = *args.layout_src;
59 TensorLayout fdst = *args.layout_dst;
60 auto get_workspace = [&sizes](TensorLayout& layout) {
61 if (layout.dtype == dtype::BFloat16()) {
62 layout.dtype = dtype::Float32();
63 sizes.push_back(layout.span().dist_byte());
64 }
65 };
66 get_workspace(fsrc);
67 get_workspace(fdst);
68 return {ptr, std::move(sizes)};
69}
70
71size_t PoolingForwardImpl::AlgoBase::get_workspace_in_bytes(
72 const SizeArgs& args) const {

Callers

nothing calls this directly

Calls 6

get_inner_layoutFunction · 0.85
dist_byteMethod · 0.80
spanMethod · 0.80
get_workspaceFunction · 0.50
push_backMethod · 0.45
paramMethod · 0.45

Tested by

no test coverage detected