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

Method run

src/core/CL/kernels/CLSelectKernel.cpp:151–180  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

149}
150
151void CLSelectKernel::run(const arm_compute::Window &window, cl::CommandQueue &queue)
152{
153 ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
154 ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(ICLKernel::window(), window);
155
156 Window collapsed = window.collapse_if_possible(ICLKernel::window(), Window::DimZ);
157 Window slice = collapsed.first_slice_window_3D();
158
159 if (!_has_same_rank)
160 {
161 Window vector_slice = window.first_slice_window_1D();
162 vector_slice.set(Window::DimX, Window::Dimension(0, 0, 0));
163 unsigned int idx = 0;
164 add_1D_tensor_argument(idx, _c, vector_slice);
165 }
166
167 do
168 {
169 unsigned int idx = _has_same_rank ? 0 : num_arguments_per_1D_tensor();
170 if (_has_same_rank)
171 {
172 add_3D_tensor_argument(idx, _c, slice);
173 }
174 add_3D_tensor_argument(idx, _x, slice);
175 add_3D_tensor_argument(idx, _y, slice);
176 add_3D_tensor_argument(idx, _output, slice);
177
178 enqueue(queue, *this, slice, lws_hint());
179 } while (collapsed.slide_window_slice_3D(slice));
180}
181} // namespace arm_compute

Callers

nothing calls this directly

Calls 6

collapse_if_possibleMethod · 0.80
first_slice_window_3DMethod · 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