xref: /aosp_15_r20/external/ComputeLibrary/docs/ComputeLibrary.dir (revision c217d954acce2dbc11938adb493fc0abd69584f3)
1//
2// Copyright © 2020,2022 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6// The following files are omitted due to technical limitations:
7// Directories : data, include, python
8// Files : LICENSE, README.md, SConscript, SConstruct, Security.md, filelist.json, filedefs.json
9
10/** @file Android.bp
11 *  @brief Generation script for building AndroidNN driver.
12 */
13
14/** @dir arm_compute
15 *  @brief All the arm_compute headers.
16 */
17
18/** @dir arm_compute/core
19 *  @brief Core module: common basic types and kernels.
20 */
21
22/** @dir arm_compute/core/CL
23 *  @brief OpenCL backend core: kernels and utilities.
24 */
25
26/** @file arm_compute/core/CL/CLKernelLibrary.h
27 *  @brief Manages all the OpenCL kernels compilation and caching, provides accessors for the OpenCL Context.
28 */
29
30/** @file arm_compute/core/CL/OpenCL.h
31 *  @brief Wrapper to configure the Khronos OpenCL C++ header
32 */
33
34/** @dir arm_compute/core/CPP
35 *  @brief CPP backend core: kernels and utilities.
36 */
37
38/** @file arm_compute/core/CPP/CPPKernels.h
39 *  @brief Includes all the CPP kernels at once
40 */
41
42/** @dir arm_compute/core/CPP/kernels
43 *  @brief Folder containing all the CPP kernels
44 */
45
46/** @dir arm_compute/core/experimental
47 *  @brief All experimental interfaces
48 */
49
50/** @dir src/core/NEON
51 *  @brief Arm® Neon™ backend core: kernels and utilities.
52 */
53
54/** @file src/core/NEON/NEKernels.h
55 *  @brief Includes all the Arm® Neon™ kernels at once
56 */
57
58/** @dir src/core/NEON/kernels
59 *  @brief Folder containing all the Arm® Neon™ kernels
60 */
61
62/** @dir arm_compute/core/utils
63 *  @brief Common core utilities.
64 */
65
66/** @dir arm_compute/graph
67 *  @brief Graph API.
68 */
69
70/** @dir arm_compute/graph/algorithms
71 *  @brief Generic algorithms used by the graph backend (e.g Order of traversal)
72 */
73
74/** @dir arm_compute/graph/backends
75 *  @brief The backend specific code
76 */
77
78/** @dir arm_compute/graph/backends/CL
79 *  @brief OpenCL specific operations
80 */
81
82/** @dir arm_compute/graph/backends/NEON
83 *  @brief Arm® Neon™ specific operations
84 */
85
86/** @dir arm_compute/graph/detail
87 *  @brief Collection of internal utilities.
88 */
89
90/** @dir arm_compute/graph/frontend
91 *  @brief Code related to the stream frontend interface.
92 */
93
94/** @dir arm_compute/graph/mutators
95 *  @brief Used to modify / optimise the Graph intermediate representation(Operator fusion, in place operations, etc.)
96 */
97
98/** @dir arm_compute/graph/nodes
99 *  @brief The various nodes supported by the graph API.
100 */
101
102/** @dir arm_compute/graph/printers
103 *  @brief Debug printers.
104 */
105
106/** @file arm_compute/graph.h
107 *  @brief Includes all the Graph headers at once.
108 */
109
110/** @dir arm_compute/runtime
111 *  @brief Runtime interface: memory, scheduler, functions.
112 */
113
114/** @dir arm_compute/runtime/CL
115 *  @brief OpenCL backend runtime interface.
116 */
117
118/** @file arm_compute/runtime/CL/CLFunctions.h
119 *  @brief Includes all the OpenCL functions at once
120 */
121
122/** @file arm_compute/runtime/CL/CLScheduler.h
123 *  @brief Interface to enqueue OpenCL kernels and get/set the OpenCL CommandQueue and ICLTuner.
124 */
125
126/** @file arm_compute/runtime/CL/ICLTuner.h
127 *  @brief Interface used to tune the local work-group size of OpenCL kernels.
128 */
129
130/** @dir arm_compute/runtime/CL/functions
131 *  @brief Folder containing all the OpenCL functions.
132 */
133
134/** @dir arm_compute/runtime/CL/tuners
135 *  @brief Local workgroup size tuners for specific architectures / GPUs.
136 */
137
138/** @dir arm_compute/runtime/CPP
139 *  @brief CPP backend runtime interface.
140 */
141
142/** @file arm_compute/runtime/CPP/CPPScheduler.h
143 *  @brief Basic pool of threads to execute CPP/Neon code on several cores in parallel.
144 */
145
146/** @dir arm_compute/runtime/CPP/functions
147 *  @brief Folder containing all the CPP functions.
148 */
149
150/** @dir arm_compute/runtime/experimental
151 *  @brief Experimental runtime interface.
152 */
153
154/** @dir arm_compute/runtime/NEON
155 *  @brief Arm® Neon™ backend runtime interface.
156 */
157
158/** @file arm_compute/runtime/NEON/NEFunctions.h
159 *  @brief Includes all the Arm® Neon™ functions at once.
160 */
161
162/** @dir arm_compute/runtime/NEON/functions
163 *  @brief Folder containing all the Arm® Neon™ functions.
164 */
165
166/** @dir arm_compute/runtime/OMP
167 *  @brief OpenMP backend runtime interface.
168 */
169
170/** @file arm_compute/runtime/OMP/OMPScheduler.h
171 *  @brief OpenMP scheduler (Alternative to the CPPScheduler).
172 */
173
174/** @dir arm_compute/runtime/common
175 *  @brief Common utility code used by all backends.
176 */
177
178/** @dir docs
179 *  @brief Doxyfile and Doxygen sources used to generate this documentation.
180 */
181
182/** @dir ./examples
183 *  @brief Set of examples using the Compute Library
184 *
185 *  @details Examples have the following structure:
186 *
187 *  -# cl_*.cpp --> OpenCL examples
188 *  -# graph_*.cpp --> Graph examples
189 *  -# neoncl_*.cpp --> Arm® Neon™ / OpenCL interoperability examples
190 *  -# neon_*.cpp --> Arm® Neon™ examples
191 */
192
193/** @dir examples/gemm_tuner
194 *  @brief OpenCL GEMM tuner utility.
195 */
196
197/** @dir scripts
198 *  @brief Utility scripts.
199 */
200
201/** @dir src
202 *  @brief Source code implementing all the arm_compute headers.
203 */
204
205/** @dir src/core/NEON/kernels/detail
206 *  @brief Common code for several intrinsics implementations.
207 */
208
209/** @dir src/core/NEON/wrapper
210 *  @brief Arm® Neon™ wrapper used to simplify code
211 */
212
213/** @file src/core/NEON/wrapper/traits.h
214 *  @brief Traits defined on Arm® Neon™ vectors
215 */
216
217/** @file src/core/NEON/wrapper/wrapper.h
218 *  @brief Includes all wrapper headers at once
219 */
220
221/** @dir src/core/NEON/wrapper/intrinsics
222 *  @brief Arm® Neon™ intrinsics wrappers
223 */
224
225/** @dir src/core/NEON/wrapper/scalar
226 *  @brief Scalar operations
227 */
228
229/** @dir src/gpu/cl/kernels/gemm
230 *  @brief Folder containing all the configuration files for GEMM
231 */
232
233/** @dir src/core/CL/kernels
234 *  @brief All the OpenCL kernels
235 */
236
237/** @dir support
238 *  @brief Various headers to work around toolchains / platform issues.
239 */
240
241/** @dir tests
242 *  @brief All test related files shared between validation and benchmark.
243 */
244
245/** @file tests/main.cpp
246 *  @brief Main entry point for the tests. Currently shared between validation and benchmarking.
247 */
248
249/** @dir tests/CL
250 *  @brief OpenCL accessors.
251 */
252
253/** @dir tests/NEON
254 *  @brief Arm® Neon™ accessors.
255 */
256
257/** @dir tests/benchmark
258 *  @brief Sources for benchmarking.
259 */
260
261/** @dir tests/benchmark/CL
262 *  @brief OpenCL benchmarking tests.
263 */
264
265/** @dir tests/benchmark/NEON
266 *  @brief Arm® Neon™ benchmarking tests.
267 */
268
269/** @dir tests/benchmark_examples
270 *  @brief Sources needed to wrap examples to run through our benchmarking framework.
271 */
272
273/** @dir tests/framework
274 *  @brief Boiler plate code for both validation and benchmark test suites (Command line parsers, instruments, output loggers, etc.)
275 */
276
277/** @dir tests/instruments
278 *  @brief User defined instruments that can be registered to the framework.
279 */
280
281/** @dir tests/validate_examples
282 *  @brief Sources needed to wrap examples to run through our validation framework.
283 */
284
285/** @dir tests/validation
286 *  @brief Source for validation.
287 */
288
289/** @dir tests/validation/CL
290 *  @brief OpenCL validation tests.
291 */
292
293/** @dir tests/validation/CPP
294 *  @brief C++ validation tests.
295 */
296
297/** @dir tests/validation/NEON
298 *  @brief Arm® Neon™ validation tests.
299 */
300
301/** @dir tests/validation/reference
302 *  @brief Reference implementation used to validate the results of the various backends.
303 */
304