blob: 7733e531cd5f7399f4c08177914e89457c5c6aaa [file] [log] [blame]
Michele Di Giorgio552e11d2020-09-23 15:08:38 +01001//
2// Copyright © 2020 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6/** @file Android.bp
7 * @brief Generation script for building AndroidNN driver.
8 */
9
10/** @dir arm_compute
11 * @brief All the arm_compute headers.
12 */
13
14/** @dir arm_compute/core
15 * @brief Core module: common basic types and kernels.
16 */
17
18/** @dir arm_compute/core/CL
19 * @brief OpenCL backend core: kernels and utilities.
20 */
21
22/** @file arm_compute/core/CL/CLKernelLibrary.h
23 * @brief Manages all the OpenCL kernels compilation and caching, provides accessors for the OpenCL Context.
24 */
25
Michele Di Giorgio552e11d2020-09-23 15:08:38 +010026/** @file arm_compute/core/CL/OpenCL.h
27 * @brief Wrapper to configure the Khronos OpenCL C++ header
28 */
29
Michele Di Giorgio552e11d2020-09-23 15:08:38 +010030/** @dir arm_compute/core/CPP
31 * @brief CPP backend core: kernels and utilities.
32 */
33
34/** @file arm_compute/core/CPP/CPPKernels.h
35 * @brief Includes all the CPP kernels at once
36 */
37
38/** @dir arm_compute/core/CPP/kernels
39 * @brief Folder containing all the CPP kernels
40 */
41
42/** @dir arm_compute/core/experimental
43 * @brief All experimental interfaces
44 */
45
46/** @dir arm_compute/core/GLES_COMPUTE
47 * @brief OpenGLES backend core: kernels and utilities.
48 */
49
50/** @file arm_compute/core/GLES_COMPUTE/GCKernelLibrary.h
51 * @brief Manages all the GLES kernels compilation and caching, provides accessors for the GLES Context.
52 */
53
54/** @file arm_compute/core/GLES_COMPUTE/GCKernels.h
55 * @brief Includes all the GLES kernels at once
56 */
57
58/** @file arm_compute/core/GLES_COMPUTE/OpenGLES.h
59 * @brief Wrapper to configure the Khronos EGL and OpenGL ES C header
60 */
61
62/** @dir arm_compute/core/GLES_COMPUTE/kernels
63 * @brief Folder containing all the GLES kernels
64 */
65
Michalis Spyrouebcebf12020-10-21 00:04:14 +010066/** @dir src/core/NEON
Michele Di Giorgio552e11d2020-09-23 15:08:38 +010067 * @brief NEON backend core: kernels and utilities.
68 */
69
Michalis Spyrouebcebf12020-10-21 00:04:14 +010070/** @file src/core/NEON/NEKernels.h
Michele Di Giorgio552e11d2020-09-23 15:08:38 +010071 * @brief Includes all the NEON kernels at once
72 */
73
Michalis Spyrouebcebf12020-10-21 00:04:14 +010074/** @dir src/core/NEON/kernels
Michele Di Giorgio552e11d2020-09-23 15:08:38 +010075 * @brief Folder containing all the NEON kernels
76 */
77
Michele Di Giorgio552e11d2020-09-23 15:08:38 +010078/** @dir arm_compute/core/utils
79 * @brief Common core utilities.
80 */
81
82/** @dir arm_compute/graph
83 * @brief Graph API.
84 */
85
86/** @dir arm_compute/graph/algorithms
87 * @brief Generic algorithms used by the graph backend (e.g Order of traversal)
88 */
89
90/** @dir arm_compute/graph/backends
91 * @brief The backend specific code
92 */
93
94/** @dir arm_compute/graph/backends/CL
95 * @brief OpenCL specific operations
96 */
97
98/** @dir arm_compute/graph/backends/GLES
99 * @brief OpenGLES specific operations
100 */
101
102/** @dir arm_compute/graph/backends/NEON
103 * @brief NEON specific operations
104 */
105
106/** @dir arm_compute/graph/detail
107 * @brief Collection of internal utilities.
108 */
109
110/** @dir arm_compute/graph/frontend
111 * @brief Code related to the stream frontend interface.
112 */
113
114/** @dir arm_compute/graph/mutators
115 * @brief Used to modify / optimise the Graph intermediate representation(Operator fusion, in place operations, etc.)
116 */
117
118/** @dir arm_compute/graph/nodes
119 * @brief The various nodes supported by the graph API.
120 */
121
122/** @dir arm_compute/graph/printers
123 * @brief Debug printers.
124 */
125
126/** @file arm_compute/graph.h
127 * @brief Includes all the Graph headers at once.
128 */
129
130/** @dir arm_compute/runtime
131 * @brief Runtime interface: memory, scheduler, functions.
132 */
133
134/** @dir arm_compute/runtime/CL
135 * @brief OpenCL backend runtime interface.
136 */
137
138/** @file arm_compute/runtime/CL/CLFunctions.h
139 * @brief Includes all the OpenCL functions at once
140 */
141
142/** @file arm_compute/runtime/CL/CLScheduler.h
143 * @brief Interface to enqueue OpenCL kernels and get/set the OpenCL CommandQueue and ICLTuner.
144 */
145
146/** @file arm_compute/runtime/CL/ICLTuner.h
147 * @brief Interface used to tune the local work-group size of OpenCL kernels.
148 */
149
150/** @dir arm_compute/runtime/CL/functions
151 * @brief Folder containing all the OpenCL functions.
152 */
153
154/** @dir arm_compute/runtime/CL/tuners
155 * @brief Local workgroup size tuners for specific architectures / GPUs.
156 */
157
158/** @dir arm_compute/runtime/CPP
159 * @brief CPP backend runtime interface.
160 */
161
162/** @file arm_compute/runtime/CPP/CPPScheduler.h
163 * @brief Basic pool of threads to execute CPP/NEON code on several cores in parallel.
164 */
165
166/** @dir arm_compute/runtime/CPP/functions
167 * @brief Folder containing all the CPP functions.
168 */
169
170/** @dir arm_compute/runtime/experimental
171 * @brief Experimental runtime interface.
172 */
173
174/** @dir arm_compute/runtime/GLES_COMPUTE
175 * @brief OpenGLES backend runtime interface.
176 */
177
178/** @file arm_compute/runtime/GLES_COMPUTE/GCFunctions.h
179 * @brief Includes all the OpenGLES functions at once
180 */
181
182/** @file arm_compute/runtime/GLES_COMPUTE/GCScheduler.h
183 * @brief Interface to enqueue GLES kernels and get/set the GLES CommandQueue.
184 */
185
186/** @dir arm_compute/runtime/GLES_COMPUTE/functions
187 * @brief Folder containing all the GLES functions.
188 */
189
190/** @dir arm_compute/runtime/NEON
191 * @brief NEON backend runtime interface.
192 */
193
194/** @file arm_compute/runtime/NEON/NEFunctions.h
195 * @brief Includes all the NEON functions at once.
196 */
197
198/** @dir arm_compute/runtime/NEON/functions
199 * @brief Folder containing all the NEON functions.
200 */
201
202/** @dir arm_compute/runtime/OMP
203 * @brief OpenMP backend runtime interface.
204 */
205
206/** @file arm_compute/runtime/OMP/OMPScheduler.h
207 * @brief OpenMP scheduler (Alternative to the CPPScheduler).
208 */
209
210/** @dir arm_compute/runtime/common
211 * @brief Common utility code used by all backends.
212 */
213
214/** @dir docs
215 * @brief Doxyfile and Doxygen sources used to generate this documentation.
216 */
217
218/** @dir ./examples
219 * @brief Set of examples using the Compute Library
220 *
221 * @details Examples have the following structure:
222 *
223 * -# cl_*.cpp --> OpenCL examples
224 * -# gc_*.cpp --> GLES compute shaders examples
225 * -# graph_*.cpp --> Graph examples
226 * -# neoncl_*.cpp --> NEON / OpenCL interoperability examples
227 * -# neon_*.cpp --> NEON examples
228 */
229
230/** @dir examples/gemm_tuner
231 * @brief OpenCL GEMM tuner utility.
232 */
233
234/** @dir scripts
235 * @brief Utility scripts.
236 */
237
238/** @file scripts/caffe_data_extractor.py
239 * @brief Basic script to export weights from Caffe to npy files.
240 */
241
242/** @file scripts/tensorflow_data_extractor.py
243 * @brief Basic script to export weights from TensorFlow to npy files.
244 */
245
246/** @dir src
247 * @brief Source code implementing all the arm_compute headers.
248 */
249
Georgios Pinitasddb93bb2020-10-02 16:38:59 +0100250/** @dir src/core/NEON/kernels/detail
251 * @brief Common code for several intrinsics implementations.
252 */
253
254/** @dir src/core/NEON/wrapper
255 * @brief NEON wrapper used to simplify code
256 */
257
258/** @file src/core/NEON/wrapper/traits.h
259 * @brief Traits defined on NEON vectors
260 */
261
262/** @file src/core/NEON/wrapper/wrapper.h
263 * @brief Includes all wrapper headers at once
264 */
265
266/** @dir src/core/NEON/wrapper/intrinsics
267 * @brief NEON intrinsics wrappers
268 */
269
270/** @dir src/core/NEON/wrapper/scalar
271 * @brief Scalar operations
272 */
273
Sang-Hoon Park68dd25f2020-10-19 16:00:11 +0100274/** @dir src/core/CL/gemm
275 * @brief Folder containing all the configuration files for GEMM
276 */
277
Sang-Hoon Parkbef7fa22020-10-21 15:58:54 +0100278/** @dir src/core/CL/kernels
Michele Di Giorgio552e11d2020-09-23 15:08:38 +0100279 * @brief All the OpenCL kernels
280 */
281
282/** @dir support
283 * @brief Various headers to work around toolchains / platform issues.
284 */
285
286/** @dir tests
287 * @brief All test related files shared between validation and benchmark.
288 */
289
Michele Di Giorgio674d7482020-10-28 17:27:14 +0000290/** @file tests/main.cpp
291 * @brief Main entry point for the tests. Currently shared between validation and benchmarking.
292 */
293
Michele Di Giorgio552e11d2020-09-23 15:08:38 +0100294/** @dir tests/CL
295 * @brief OpenCL accessors.
296 */
297
298/** @dir tests/GLES_COMPUTE
299 * @brief GLES accessors.
300 */
301
302/** @dir tests/NEON
303 * @brief NEON accessors.
304 */
305
306/** @dir tests/benchmark
307 * @brief Sources for benchmarking.
308 */
309
310/** @dir tests/benchmark/CL
311 * @brief OpenCL benchmarking tests.
312 */
313
314/** @dir tests/benchmark/GLES_COMPUTE
315 * @brief GLES benchmarking tests.
316 */
317
318/** @dir tests/benchmark/NEON
319 * @brief NEON benchmarking tests.
320 */
321
322/** @dir tests/benchmark_examples
323 * @brief Sources needed to wrap examples to run through our benchmarking framework.
324 */
325
326/** @dir tests/framework
327 * @brief Boiler plate code for both validation and benchmark test suites (Command line parsers, instruments, output loggers, etc.)
328 */
329
330/** @dir tests/instruments
331 * @brief User defined instruments that can be registered to the framework.
332 */
333
334/** @dir tests/validate_examples
335 * @brief Sources needed to wrap examples to run through our validation framework.
336 */
337
338/** @dir tests/validation
339 * @brief Source for validation.
340 */
341
342/** @dir tests/validation/CL
343 * @brief OpenCL validation tests.
344 */
345
346/** @dir tests/validation/CPP
347 * @brief C++ validation tests.
348 */
349
350/** @dir tests/validation/GLES_COMPUTE
351 * @brief GLES validation tests.
352 */
353
354/** @dir tests/validation/NEON
355 * @brief NEON validation tests.
356 */
357
358/** @dir tests/validation/reference
359 * @brief Reference implementation used to validate the results of the various backends.
360 */