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

Method run

src/core/CL/kernels/CLL2NormalizeLayerKernel.cpp:173–230  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

171}
172
173void CLL2NormalizeLayerKernel::run(const Window &window, cl::CommandQueue &queue)
174{
175 ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this);
176 ARM_COMPUTE_ERROR_ON_INVALID_SUBWINDOW(IKernel::window(), window);
177
178 Window window_sum(window);
179
180 switch (_actual_axis)
181 {
182 case 0:
183 {
184 window_sum.set(Window::DimX, Window::Dimension(0, 0, 0));
185 Window in_slice = window.first_slice_window_2D();
186 Window sum_slice = window_sum.first_slice_window_2D();
187 do
188 {
189 unsigned int idx = 0;
190 add_2D_tensor_argument(idx, _input, in_slice);
191 add_2D_tensor_argument(idx, _sum, sum_slice);
192 add_2D_tensor_argument(idx, _output, in_slice);
193 enqueue(queue, *this, in_slice, lws_hint());
194 } while (window.slide_window_slice_2D(in_slice) && window.slide_window_slice_2D(sum_slice));
195 }
196 break;
197 case 1:
198 {
199 window_sum.set(Window::DimY, Window::Dimension(0, 0, 0));
200 Window in_slice = window.first_slice_window_2D();
201 Window sum_slice = window_sum.first_slice_window_2D();
202 do
203 {
204 unsigned int idx = 0;
205 add_2D_tensor_argument(idx, _input, in_slice);
206 add_2D_tensor_argument(idx, _sum, sum_slice);
207 add_2D_tensor_argument(idx, _output, in_slice);
208 enqueue(queue, *this, in_slice, lws_hint());
209 } while (window.slide_window_slice_2D(in_slice) && window.slide_window_slice_2D(sum_slice));
210 }
211 break;
212 case 2:
213 {
214 window_sum.set(Window::DimZ, Window::Dimension(0, 0, 0));
215 Window in_slice = window.first_slice_window_3D();
216 Window sum_slice = window_sum.first_slice_window_3D();
217 do
218 {
219 unsigned int idx = 0;
220 add_3D_tensor_argument(idx, _input, in_slice);
221 add_3D_tensor_argument(idx, _sum, sum_slice);
222 add_3D_tensor_argument(idx, _output, in_slice);
223 enqueue(queue, *this, in_slice, lws_hint());
224 } while (window.slide_window_slice_3D(in_slice) && window.slide_window_slice_3D(sum_slice));
225 }
226 break;
227 default:
228 ARM_COMPUTE_ERROR("Not supported");
229 }
230}

Callers

nothing calls this directly

Calls 6

first_slice_window_2DMethod · 0.80
slide_window_slice_2DMethod · 0.80
first_slice_window_3DMethod · 0.80
slide_window_slice_3DMethod · 0.80
DimensionClass · 0.50
setMethod · 0.45

Tested by

no test coverage detected