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

Method run_op

src/gpu/cl/kernels/ClDepthConcatenateKernel.cpp:126–149  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

124}
125
126void ClDepthConcatenateKernel::run_op(ITensorPack &tensors, const Window &window, ::cl::CommandQueue &queue)
127{
128 ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
129 ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(ICLKernel::window(), window);
130
131 const auto src =
132 utils::cast::polymorphic_downcast<const ICLTensor *>(tensors.get_const_tensor(TensorType::ACL_SRC));
133 auto dst = utils::cast::polymorphic_downcast<ICLTensor *>(tensors.get_tensor(TensorType::ACL_DST));
134
135 Window slice = window.first_slice_window_3D();
136
137 const int offset_to_first_elements_in_bytes = _depth_offset * dst->info()->strides_in_bytes()[2];
138
139 unsigned int idx = 2 * num_arguments_per_3D_tensor(); // Skip the src and dst parameters
140 _kernel.setArg<cl_int>(idx, offset_to_first_elements_in_bytes);
141
142 do
143 {
144 unsigned int idx = 0;
145 add_3D_tensor_argument(idx, src, slice);
146 add_3D_tensor_argument(idx, dst, slice);
147 enqueue(queue, *this, slice, lws_hint());
148 } while (window.slide_window_slice_3D(slice));
149}
150} // namespace kernels
151} // namespace opencl
152} // namespace arm_compute

Callers

nothing calls this directly

Calls 5

get_const_tensorMethod · 0.80
first_slice_window_3DMethod · 0.80
slide_window_slice_3DMethod · 0.80
get_tensorMethod · 0.45
infoMethod · 0.45

Tested by

no test coverage detected