MCPcopy Create free account
hub / github.com/ARM-software/ComputeLibrary / configure

Method configure

src/cpu/kernels/CpuDirectConv3dKernel.cpp:129–163  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

127} // namespace
128
129void CpuDirectConv3dKernel::configure(const ITensorInfo *src0,
130 const ITensorInfo *src1,
131 const ITensorInfo *src2,
132 ITensorInfo *dst,
133 const Conv3dInfo &conv_info)
134{
135 ARM_COMPUTE_TRACE_EVENT(ARM_COMPUTE_PROF_CAT_CPU, ARM_COMPUTE_PROF_LVL_CPU, "CpuDirectConv3dKernel::configure");
136 ARM_COMPUTE_UNUSED(src2);
137 ARM_COMPUTE_ERROR_ON_NULLPTR(src0, src1, dst);
138
139 const auto *uk =
140 CpuDirectConv3dKernel::get_implementation(DataTypeISASelectorData{src0->data_type(), CPUInfo::get().get_isa()});
141
142 ARM_COMPUTE_ERROR_ON_NULLPTR(uk);
143
144 _conv_info = conv_info;
145 _run_method = uk->ukernel;
146 _name = std::string("CpuDirectConv3dKernel").append("/").append(uk->name);
147
148 // Get convolved dimensions
149 TensorShape output_shape =
150 misc::shape_calculator::compute_conv3d_shape(src0->tensor_shape(), src1->tensor_shape(), conv_info);
151
152 DataType data_type = src0->data_type();
153
154 // Output auto inizialitation if not yet initialized
155 auto_init_if_empty(*dst, output_shape, 1, data_type);
156
157 // Perform validation step
158 ARM_COMPUTE_ERROR_THROW_ON(validate_arguments(src0, src1, src2, dst, conv_info));
159
160 // Configure kernel window
161 Window win = calculate_max_window(*dst, Steps());
162 ICpuKernel::configure(win);
163}
164
165Status CpuDirectConv3dKernel::validate(const ITensorInfo *src0,
166 const ITensorInfo *src1,

Callers

nothing calls this directly

Calls 9

compute_conv3d_shapeFunction · 0.85
auto_init_if_emptyFunction · 0.85
StepsClass · 0.85
get_isaMethod · 0.80
appendMethod · 0.80
validate_argumentsFunction · 0.70
get_implementationFunction · 0.50
calculate_max_windowFunction · 0.50
data_typeMethod · 0.45

Tested by

no test coverage detected