| 154 | } |
| 155 | |
| 156 | void CpuDirectConv2dKernel::run_op(ITensorPack &tensors, const Window &window, const ThreadInfo &info) |
| 157 | { |
| 158 | ARM_COMPUTE_TRACE_EVENT(ARM_COMPUTE_PROF_CAT_CPU, ARM_COMPUTE_PROF_LVL_CPU, "CpuDirectConv2dKernel::run_op"); |
| 159 | ARM_COMPUTE_UNUSED(info); |
| 160 | ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this); |
| 161 | ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(ICpuKernel::window(), window); |
| 162 | |
| 163 | auto src = tensors.get_const_tensor(TensorType::ACL_SRC_0); |
| 164 | auto weights = tensors.get_const_tensor(TensorType::ACL_SRC_1); |
| 165 | auto dst = tensors.get_tensor(TensorType::ACL_DST); |
| 166 | |
| 167 | const auto *uk = CpuDirectConv2dKernel::get_implementation( |
| 168 | DataTypeDataLayoutISASelectorData{src->info()->data_type(), _data_layout, CPUInfo::get().get_isa()}); |
| 169 | ARM_COMPUTE_ERROR_ON(uk == nullptr); |
| 170 | |
| 171 | uk->ukernel(window, src, weights, dst, _conv_info); |
| 172 | } |
| 173 | const char *CpuDirectConv2dKernel::name() const |
| 174 | { |
| 175 | return "CpuDirectConvolutionLayerKernel"; |
nothing calls this directly
no test coverage detected