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

Method run_op

src/gpu/cl/kernels/ClWidthConcatenate4TensorsKernel.cpp:184–215  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

182}
183
184void ClWidthConcatenate4TensorsKernel::run_op(ITensorPack &tensors, const Window &window, ::cl::CommandQueue &queue)
185{
186 ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
187 ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(ICLKernel::window(), window);
188
189 const auto src0 =
190 utils::cast::polymorphic_downcast<const ICLTensor *>(tensors.get_const_tensor(TensorType::ACL_SRC_VEC));
191 const auto src1 =
192 utils::cast::polymorphic_downcast<const ICLTensor *>(tensors.get_const_tensor(TensorType::ACL_SRC_VEC + 1));
193 const auto src2 =
194 utils::cast::polymorphic_downcast<const ICLTensor *>(tensors.get_const_tensor(TensorType::ACL_SRC_VEC + 2));
195 const auto src3 =
196 utils::cast::polymorphic_downcast<const ICLTensor *>(tensors.get_const_tensor(TensorType::ACL_SRC_VEC + 3));
197 auto dst = utils::cast::polymorphic_downcast<ICLTensor *>(tensors.get_tensor(TensorType::ACL_DST));
198
199 Window slice = window.first_slice_window_4D();
200
201 do
202 {
203 unsigned int idx = 0;
204 add_4D_tensor_argument(idx, src0, slice);
205 add_4D_tensor_argument(idx, src1, slice);
206 add_4D_tensor_argument(idx, src2, slice);
207 add_4D_tensor_argument(idx, src3, slice);
208 add_4D_tensor_argument(idx, dst, slice);
209 _kernel.setArg<cl_int>(idx++, _depth);
210 _kernel.setArg<cl_int>(idx++, _input1_width);
211 _kernel.setArg<cl_int>(idx++, _input2_width);
212 _kernel.setArg<cl_int>(idx++, _input3_width);
213 enqueue(queue, *this, window, lws_hint());
214 } while (window.slide_window_slice_4D(slice));
215}
216} // namespace kernels
217} // namespace opencl
218} // namespace arm_compute

Callers

nothing calls this directly

Calls 4

get_const_tensorMethod · 0.80
first_slice_window_4DMethod · 0.80
slide_window_slice_4DMethod · 0.80
get_tensorMethod · 0.45

Tested by

no test coverage detected