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

Method run

src/core/CL/kernels/CLBatchToSpaceLayerKernel.cpp:209–240  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

207}
208
209void CLBatchToSpaceLayerKernel::run(const Window &window, cl::CommandQueue &queue)
210{
211 ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
212 ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(ICLKernel::window(), window);
213
214 Window slice_out = window.first_slice_window_3D();
215 Window slice_in = window.first_slice_window_4D();
216
217 Window vector_slice = window.first_slice_window_1D();
218 vector_slice.set(Window::DimX, Window::Dimension(0, 0, 0));
219
220 slice_in.set(Window::DimX, Window::Dimension(0, 0, 0));
221 slice_in.set(Window::DimY, Window::Dimension(0, 0, 0));
222 slice_in.set(Window::DimZ, Window::Dimension(0, 0, 0));
223 slice_in.set(3, Window::Dimension(0, 0, 0));
224
225 int batch_id = 0;
226 do
227 {
228 unsigned int idx = 0;
229 add_4D_tensor_argument(idx, _input, slice_in);
230 add_argument(idx, batch_id);
231 if (_block_shape != nullptr)
232 {
233 add_1D_tensor_argument(idx, _block_shape, vector_slice);
234 }
235 add_3D_tensor_argument(idx, _output, slice_out);
236 enqueue(queue, *this, slice_out, lws_hint());
237
238 ++batch_id;
239 } while (window.slide_window_slice_3D(slice_out));
240}
241} // namespace arm_compute

Callers

nothing calls this directly

Calls 6

first_slice_window_3DMethod · 0.80
first_slice_window_4DMethod · 0.80
first_slice_window_1DMethod · 0.80
slide_window_slice_3DMethod · 0.80
DimensionClass · 0.50
setMethod · 0.45

Tested by

no test coverage detected