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

Method alloc

dnn/test/cuda/chanwise_convolution3d.cpp:65–88  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

63 }
64
65 void alloc(
66 size_t N, size_t IC, size_t ID, size_t IH, size_t IW, size_t CHL_MUL,
67 size_t FD, size_t FH, size_t FW, size_t PD, size_t PH, size_t PW) {
68 pad_d = PD;
69 pad_h = PH;
70 pad_w = PW;
71 auto mkly = [](const TensorShape& s) {
72 return TensorLayout{s, dtype::Float32()};
73 };
74 lsrc = mkly({N, IC, ID, IH, IW});
75 lflt0 = mkly({CHL_MUL * IC, IC, FD, FH, FW});
76 lflt1 = mkly({IC, CHL_MUL, 1, FD, FH, FW});
77 ldst =
78 mkly({N, IC * CHL_MUL, ID - FD + 1 + PD * 2, IH - FH + 1 + PH * 2,
79 IW - FW + 1 + PW * 2});
80 src0.reset(new Tensor<>(handle, lsrc));
81 src1.reset(new Tensor<>(handle, lsrc));
82 flt0.reset(new Tensor<>(handle, lflt0));
83 flt0_cpu.reset(new Tensor<>(handle_cpu, lflt0));
84 flt1.reset(new Tensor<>(handle, lflt1));
85 flt1_cpu.reset(new Tensor<>(handle_cpu, lflt1));
86 dst0.reset(new Tensor<>(handle, ldst));
87 dst1.reset(new Tensor<>(handle, ldst));
88 }
89
90 void fill_src() {
91 rng->exec(src0->tensornd(), {});

Callers 1

TEST_FFunction · 0.45

Calls 1

resetMethod · 0.45

Tested by

no test coverage detected