blob: a57b3cb3dafc7779c93828e5e6c34a547c9bd9aa [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
Michalis Spyrouebcebf12020-10-21 00:04:14 +010046/** @dir src/core/NEON
Michele Di Giorgio33f41fa2021-03-09 14:09:08 +000047 * @brief Arm® Neon™ backend core: kernels and utilities.
Michele Di Giorgio552e11d2020-09-23 15:08:38 +010048 */
49
Michalis Spyrouebcebf12020-10-21 00:04:14 +010050/** @file src/core/NEON/NEKernels.h
Michele Di Giorgio33f41fa2021-03-09 14:09:08 +000051 * @brief Includes all the Arm® Neon™ kernels at once
Michele Di Giorgio552e11d2020-09-23 15:08:38 +010052 */
53
Michalis Spyrouebcebf12020-10-21 00:04:14 +010054/** @dir src/core/NEON/kernels
Michele Di Giorgio33f41fa2021-03-09 14:09:08 +000055 * @brief Folder containing all the Arm® Neon™ kernels
Michele Di Giorgio552e11d2020-09-23 15:08:38 +010056 */
57
Michele Di Giorgio552e11d2020-09-23 15:08:38 +010058/** @dir arm_compute/core/utils
59 * @brief Common core utilities.
60 */
61
62/** @dir arm_compute/graph
63 * @brief Graph API.
64 */
65
66/** @dir arm_compute/graph/algorithms
67 * @brief Generic algorithms used by the graph backend (e.g Order of traversal)
68 */
69
70/** @dir arm_compute/graph/backends
71 * @brief The backend specific code
72 */
73
74/** @dir arm_compute/graph/backends/CL
75 * @brief OpenCL specific operations
76 */
77
Michele Di Giorgio552e11d2020-09-23 15:08:38 +010078/** @dir arm_compute/graph/backends/NEON
Michele Di Giorgio33f41fa2021-03-09 14:09:08 +000079 * @brief Arm® Neon™ specific operations
Michele Di Giorgio552e11d2020-09-23 15:08:38 +010080 */
81
82/** @dir arm_compute/graph/detail
83 * @brief Collection of internal utilities.
84 */
85
86/** @dir arm_compute/graph/frontend
87 * @brief Code related to the stream frontend interface.
88 */
89
90/** @dir arm_compute/graph/mutators
91 * @brief Used to modify / optimise the Graph intermediate representation(Operator fusion, in place operations, etc.)
92 */
93
94/** @dir arm_compute/graph/nodes
95 * @brief The various nodes supported by the graph API.
96 */
97
98/** @dir arm_compute/graph/printers
99 * @brief Debug printers.
100 */
101
102/** @file arm_compute/graph.h
103 * @brief Includes all the Graph headers at once.
104 */
105
106/** @dir arm_compute/runtime
107 * @brief Runtime interface: memory, scheduler, functions.
108 */
109
110/** @dir arm_compute/runtime/CL
111 * @brief OpenCL backend runtime interface.
112 */
113
114/** @file arm_compute/runtime/CL/CLFunctions.h
115 * @brief Includes all the OpenCL functions at once
116 */
117
118/** @file arm_compute/runtime/CL/CLScheduler.h
119 * @brief Interface to enqueue OpenCL kernels and get/set the OpenCL CommandQueue and ICLTuner.
120 */
121
122/** @file arm_compute/runtime/CL/ICLTuner.h
123 * @brief Interface used to tune the local work-group size of OpenCL kernels.
124 */
125
126/** @dir arm_compute/runtime/CL/functions
127 * @brief Folder containing all the OpenCL functions.
128 */
129
130/** @dir arm_compute/runtime/CL/tuners
131 * @brief Local workgroup size tuners for specific architectures / GPUs.
132 */
133
134/** @dir arm_compute/runtime/CPP
135 * @brief CPP backend runtime interface.
136 */
137
138/** @file arm_compute/runtime/CPP/CPPScheduler.h
Sheri Zhangac6499a2021-02-10 15:32:38 +0000139 * @brief Basic pool of threads to execute CPP/Neon code on several cores in parallel.
Michele Di Giorgio552e11d2020-09-23 15:08:38 +0100140 */
141
142/** @dir arm_compute/runtime/CPP/functions
143 * @brief Folder containing all the CPP functions.
144 */
145
146/** @dir arm_compute/runtime/experimental
147 * @brief Experimental runtime interface.
148 */
149
Michele Di Giorgio552e11d2020-09-23 15:08:38 +0100150/** @dir arm_compute/runtime/NEON
Michele Di Giorgio33f41fa2021-03-09 14:09:08 +0000151 * @brief Arm® Neon™ backend runtime interface.
Michele Di Giorgio552e11d2020-09-23 15:08:38 +0100152 */
153
154/** @file arm_compute/runtime/NEON/NEFunctions.h
Michele Di Giorgio33f41fa2021-03-09 14:09:08 +0000155 * @brief Includes all the Arm® Neon™ functions at once.
Michele Di Giorgio552e11d2020-09-23 15:08:38 +0100156 */
157
158/** @dir arm_compute/runtime/NEON/functions
Michele Di Giorgio33f41fa2021-03-09 14:09:08 +0000159 * @brief Folder containing all the Arm® Neon™ functions.
Michele Di Giorgio552e11d2020-09-23 15:08:38 +0100160 */
161
162/** @dir arm_compute/runtime/OMP
163 * @brief OpenMP backend runtime interface.
164 */
165
166/** @file arm_compute/runtime/OMP/OMPScheduler.h
167 * @brief OpenMP scheduler (Alternative to the CPPScheduler).
168 */
169
170/** @dir arm_compute/runtime/common
171 * @brief Common utility code used by all backends.
172 */
173
174/** @dir docs
175 * @brief Doxyfile and Doxygen sources used to generate this documentation.
176 */
177
178/** @dir ./examples
179 * @brief Set of examples using the Compute Library
180 *
181 * @details Examples have the following structure:
182 *
183 * -# cl_*.cpp --> OpenCL examples
Michele Di Giorgio552e11d2020-09-23 15:08:38 +0100184 * -# graph_*.cpp --> Graph examples
Michele Di Giorgio33f41fa2021-03-09 14:09:08 +0000185 * -# neoncl_*.cpp --> Arm® Neon™ / OpenCL interoperability examples
186 * -# neon_*.cpp --> Arm® Neon™ examples
Michele Di Giorgio552e11d2020-09-23 15:08:38 +0100187 */
188
189/** @dir examples/gemm_tuner
190 * @brief OpenCL GEMM tuner utility.
191 */
192
193/** @dir scripts
194 * @brief Utility scripts.
195 */
196
197/** @file scripts/caffe_data_extractor.py
198 * @brief Basic script to export weights from Caffe to npy files.
199 */
200
201/** @file scripts/tensorflow_data_extractor.py
202 * @brief Basic script to export weights from TensorFlow to npy files.
203 */
204
205/** @dir src
206 * @brief Source code implementing all the arm_compute headers.
207 */
208
Georgios Pinitasddb93bb2020-10-02 16:38:59 +0100209/** @dir src/core/NEON/kernels/detail
210 * @brief Common code for several intrinsics implementations.
211 */
212
213/** @dir src/core/NEON/wrapper
Michele Di Giorgio33f41fa2021-03-09 14:09:08 +0000214 * @brief Arm® Neon™ wrapper used to simplify code
Georgios Pinitasddb93bb2020-10-02 16:38:59 +0100215 */
216
217/** @file src/core/NEON/wrapper/traits.h
Michele Di Giorgio33f41fa2021-03-09 14:09:08 +0000218 * @brief Traits defined on Arm® Neon™ vectors
Georgios Pinitasddb93bb2020-10-02 16:38:59 +0100219 */
220
221/** @file src/core/NEON/wrapper/wrapper.h
222 * @brief Includes all wrapper headers at once
223 */
224
225/** @dir src/core/NEON/wrapper/intrinsics
Michele Di Giorgio33f41fa2021-03-09 14:09:08 +0000226 * @brief Arm® Neon™ intrinsics wrappers
Georgios Pinitasddb93bb2020-10-02 16:38:59 +0100227 */
228
229/** @dir src/core/NEON/wrapper/scalar
230 * @brief Scalar operations
231 */
232
Georgios Pinitas7891a732021-08-20 21:39:25 +0100233/** @dir src/gpu/cl/kernels/gemm
Sang-Hoon Park68dd25f2020-10-19 16:00:11 +0100234 * @brief Folder containing all the configuration files for GEMM
235 */
236
Sang-Hoon Parkbef7fa22020-10-21 15:58:54 +0100237/** @dir src/core/CL/kernels
Michele Di Giorgio552e11d2020-09-23 15:08:38 +0100238 * @brief All the OpenCL kernels
239 */
240
241/** @dir support
242 * @brief Various headers to work around toolchains / platform issues.
243 */
244
245/** @dir tests
246 * @brief All test related files shared between validation and benchmark.
247 */
248
Michele Di Giorgio674d7482020-10-28 17:27:14 +0000249/** @file tests/main.cpp
250 * @brief Main entry point for the tests. Currently shared between validation and benchmarking.
251 */
252
Michele Di Giorgio552e11d2020-09-23 15:08:38 +0100253/** @dir tests/CL
254 * @brief OpenCL accessors.
255 */
256
Michele Di Giorgio552e11d2020-09-23 15:08:38 +0100257/** @dir tests/NEON
Michele Di Giorgio33f41fa2021-03-09 14:09:08 +0000258 * @brief Arm® Neon™ accessors.
Michele Di Giorgio552e11d2020-09-23 15:08:38 +0100259 */
260
261/** @dir tests/benchmark
262 * @brief Sources for benchmarking.
263 */
264
265/** @dir tests/benchmark/CL
266 * @brief OpenCL benchmarking tests.
267 */
268
Michele Di Giorgio552e11d2020-09-23 15:08:38 +0100269/** @dir tests/benchmark/NEON
Michele Di Giorgio33f41fa2021-03-09 14:09:08 +0000270 * @brief Arm® Neon™ benchmarking tests.
Michele Di Giorgio552e11d2020-09-23 15:08:38 +0100271 */
272
273/** @dir tests/benchmark_examples
274 * @brief Sources needed to wrap examples to run through our benchmarking framework.
275 */
276
277/** @dir tests/framework
278 * @brief Boiler plate code for both validation and benchmark test suites (Command line parsers, instruments, output loggers, etc.)
279 */
280
281/** @dir tests/instruments
282 * @brief User defined instruments that can be registered to the framework.
283 */
284
285/** @dir tests/validate_examples
286 * @brief Sources needed to wrap examples to run through our validation framework.
287 */
288
289/** @dir tests/validation
290 * @brief Source for validation.
291 */
292
293/** @dir tests/validation/CL
294 * @brief OpenCL validation tests.
295 */
296
297/** @dir tests/validation/CPP
298 * @brief C++ validation tests.
299 */
300
Michele Di Giorgio552e11d2020-09-23 15:08:38 +0100301/** @dir tests/validation/NEON
Michele Di Giorgio33f41fa2021-03-09 14:09:08 +0000302 * @brief Arm® Neon™ validation tests.
Michele Di Giorgio552e11d2020-09-23 15:08:38 +0100303 */
304
305/** @dir tests/validation/reference
306 * @brief Reference implementation used to validate the results of the various backends.
307 */