361 lines
8.5 KiB
Plaintext
361 lines
8.5 KiB
Plaintext
//
|
|
// Copyright © 2020 Arm Ltd. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
//
|
|
|
|
/** @file Android.bp
|
|
* @brief Generation script for building AndroidNN driver.
|
|
*/
|
|
|
|
/** @dir arm_compute
|
|
* @brief All the arm_compute headers.
|
|
*/
|
|
|
|
/** @dir arm_compute/core
|
|
* @brief Core module: common basic types and kernels.
|
|
*/
|
|
|
|
/** @dir arm_compute/core/CL
|
|
* @brief OpenCL backend core: kernels and utilities.
|
|
*/
|
|
|
|
/** @file arm_compute/core/CL/CLKernelLibrary.h
|
|
* @brief Manages all the OpenCL kernels compilation and caching, provides accessors for the OpenCL Context.
|
|
*/
|
|
|
|
/** @file arm_compute/core/CL/OpenCL.h
|
|
* @brief Wrapper to configure the Khronos OpenCL C++ header
|
|
*/
|
|
|
|
/** @dir arm_compute/core/CPP
|
|
* @brief CPP backend core: kernels and utilities.
|
|
*/
|
|
|
|
/** @file arm_compute/core/CPP/CPPKernels.h
|
|
* @brief Includes all the CPP kernels at once
|
|
*/
|
|
|
|
/** @dir arm_compute/core/CPP/kernels
|
|
* @brief Folder containing all the CPP kernels
|
|
*/
|
|
|
|
/** @dir arm_compute/core/experimental
|
|
* @brief All experimental interfaces
|
|
*/
|
|
|
|
/** @dir arm_compute/core/GLES_COMPUTE
|
|
* @brief OpenGLES backend core: kernels and utilities.
|
|
*/
|
|
|
|
/** @file arm_compute/core/GLES_COMPUTE/GCKernelLibrary.h
|
|
* @brief Manages all the GLES kernels compilation and caching, provides accessors for the GLES Context.
|
|
*/
|
|
|
|
/** @file arm_compute/core/GLES_COMPUTE/GCKernels.h
|
|
* @brief Includes all the GLES kernels at once
|
|
*/
|
|
|
|
/** @file arm_compute/core/GLES_COMPUTE/OpenGLES.h
|
|
* @brief Wrapper to configure the Khronos EGL and OpenGL ES C header
|
|
*/
|
|
|
|
/** @dir arm_compute/core/GLES_COMPUTE/kernels
|
|
* @brief Folder containing all the GLES kernels
|
|
*/
|
|
|
|
/** @dir src/core/NEON
|
|
* @brief NEON backend core: kernels and utilities.
|
|
*/
|
|
|
|
/** @file src/core/NEON/NEKernels.h
|
|
* @brief Includes all the NEON kernels at once
|
|
*/
|
|
|
|
/** @dir src/core/NEON/kernels
|
|
* @brief Folder containing all the NEON kernels
|
|
*/
|
|
|
|
/** @dir arm_compute/core/utils
|
|
* @brief Common core utilities.
|
|
*/
|
|
|
|
/** @dir arm_compute/graph
|
|
* @brief Graph API.
|
|
*/
|
|
|
|
/** @dir arm_compute/graph/algorithms
|
|
* @brief Generic algorithms used by the graph backend (e.g Order of traversal)
|
|
*/
|
|
|
|
/** @dir arm_compute/graph/backends
|
|
* @brief The backend specific code
|
|
*/
|
|
|
|
/** @dir arm_compute/graph/backends/CL
|
|
* @brief OpenCL specific operations
|
|
*/
|
|
|
|
/** @dir arm_compute/graph/backends/GLES
|
|
* @brief OpenGLES specific operations
|
|
*/
|
|
|
|
/** @dir arm_compute/graph/backends/NEON
|
|
* @brief NEON specific operations
|
|
*/
|
|
|
|
/** @dir arm_compute/graph/detail
|
|
* @brief Collection of internal utilities.
|
|
*/
|
|
|
|
/** @dir arm_compute/graph/frontend
|
|
* @brief Code related to the stream frontend interface.
|
|
*/
|
|
|
|
/** @dir arm_compute/graph/mutators
|
|
* @brief Used to modify / optimise the Graph intermediate representation(Operator fusion, in place operations, etc.)
|
|
*/
|
|
|
|
/** @dir arm_compute/graph/nodes
|
|
* @brief The various nodes supported by the graph API.
|
|
*/
|
|
|
|
/** @dir arm_compute/graph/printers
|
|
* @brief Debug printers.
|
|
*/
|
|
|
|
/** @file arm_compute/graph.h
|
|
* @brief Includes all the Graph headers at once.
|
|
*/
|
|
|
|
/** @dir arm_compute/runtime
|
|
* @brief Runtime interface: memory, scheduler, functions.
|
|
*/
|
|
|
|
/** @dir arm_compute/runtime/CL
|
|
* @brief OpenCL backend runtime interface.
|
|
*/
|
|
|
|
/** @file arm_compute/runtime/CL/CLFunctions.h
|
|
* @brief Includes all the OpenCL functions at once
|
|
*/
|
|
|
|
/** @file arm_compute/runtime/CL/CLScheduler.h
|
|
* @brief Interface to enqueue OpenCL kernels and get/set the OpenCL CommandQueue and ICLTuner.
|
|
*/
|
|
|
|
/** @file arm_compute/runtime/CL/ICLTuner.h
|
|
* @brief Interface used to tune the local work-group size of OpenCL kernels.
|
|
*/
|
|
|
|
/** @dir arm_compute/runtime/CL/functions
|
|
* @brief Folder containing all the OpenCL functions.
|
|
*/
|
|
|
|
/** @dir arm_compute/runtime/CL/tuners
|
|
* @brief Local workgroup size tuners for specific architectures / GPUs.
|
|
*/
|
|
|
|
/** @dir arm_compute/runtime/CPP
|
|
* @brief CPP backend runtime interface.
|
|
*/
|
|
|
|
/** @file arm_compute/runtime/CPP/CPPScheduler.h
|
|
* @brief Basic pool of threads to execute CPP/NEON code on several cores in parallel.
|
|
*/
|
|
|
|
/** @dir arm_compute/runtime/CPP/functions
|
|
* @brief Folder containing all the CPP functions.
|
|
*/
|
|
|
|
/** @dir arm_compute/runtime/experimental
|
|
* @brief Experimental runtime interface.
|
|
*/
|
|
|
|
/** @dir arm_compute/runtime/GLES_COMPUTE
|
|
* @brief OpenGLES backend runtime interface.
|
|
*/
|
|
|
|
/** @file arm_compute/runtime/GLES_COMPUTE/GCFunctions.h
|
|
* @brief Includes all the OpenGLES functions at once
|
|
*/
|
|
|
|
/** @file arm_compute/runtime/GLES_COMPUTE/GCScheduler.h
|
|
* @brief Interface to enqueue GLES kernels and get/set the GLES CommandQueue.
|
|
*/
|
|
|
|
/** @dir arm_compute/runtime/GLES_COMPUTE/functions
|
|
* @brief Folder containing all the GLES functions.
|
|
*/
|
|
|
|
/** @dir arm_compute/runtime/NEON
|
|
* @brief NEON backend runtime interface.
|
|
*/
|
|
|
|
/** @file arm_compute/runtime/NEON/NEFunctions.h
|
|
* @brief Includes all the NEON functions at once.
|
|
*/
|
|
|
|
/** @dir arm_compute/runtime/NEON/functions
|
|
* @brief Folder containing all the NEON functions.
|
|
*/
|
|
|
|
/** @dir arm_compute/runtime/OMP
|
|
* @brief OpenMP backend runtime interface.
|
|
*/
|
|
|
|
/** @file arm_compute/runtime/OMP/OMPScheduler.h
|
|
* @brief OpenMP scheduler (Alternative to the CPPScheduler).
|
|
*/
|
|
|
|
/** @dir arm_compute/runtime/common
|
|
* @brief Common utility code used by all backends.
|
|
*/
|
|
|
|
/** @dir docs
|
|
* @brief Doxyfile and Doxygen sources used to generate this documentation.
|
|
*/
|
|
|
|
/** @dir ./examples
|
|
* @brief Set of examples using the Compute Library
|
|
*
|
|
* @details Examples have the following structure:
|
|
*
|
|
* -# cl_*.cpp --> OpenCL examples
|
|
* -# gc_*.cpp --> GLES compute shaders examples
|
|
* -# graph_*.cpp --> Graph examples
|
|
* -# neoncl_*.cpp --> NEON / OpenCL interoperability examples
|
|
* -# neon_*.cpp --> NEON examples
|
|
*/
|
|
|
|
/** @dir examples/gemm_tuner
|
|
* @brief OpenCL GEMM tuner utility.
|
|
*/
|
|
|
|
/** @dir scripts
|
|
* @brief Utility scripts.
|
|
*/
|
|
|
|
/** @file scripts/caffe_data_extractor.py
|
|
* @brief Basic script to export weights from Caffe to npy files.
|
|
*/
|
|
|
|
/** @file scripts/tensorflow_data_extractor.py
|
|
* @brief Basic script to export weights from TensorFlow to npy files.
|
|
*/
|
|
|
|
/** @dir src
|
|
* @brief Source code implementing all the arm_compute headers.
|
|
*/
|
|
|
|
/** @dir src/core/NEON/kernels/detail
|
|
* @brief Common code for several intrinsics implementations.
|
|
*/
|
|
|
|
/** @dir src/core/NEON/wrapper
|
|
* @brief NEON wrapper used to simplify code
|
|
*/
|
|
|
|
/** @file src/core/NEON/wrapper/traits.h
|
|
* @brief Traits defined on NEON vectors
|
|
*/
|
|
|
|
/** @file src/core/NEON/wrapper/wrapper.h
|
|
* @brief Includes all wrapper headers at once
|
|
*/
|
|
|
|
/** @dir src/core/NEON/wrapper/intrinsics
|
|
* @brief NEON intrinsics wrappers
|
|
*/
|
|
|
|
/** @dir src/core/NEON/wrapper/scalar
|
|
* @brief Scalar operations
|
|
*/
|
|
|
|
/** @dir src/core/CL/gemm
|
|
* @brief Folder containing all the configuration files for GEMM
|
|
*/
|
|
|
|
/** @dir src/core/CL/kernels
|
|
* @brief All the OpenCL kernels
|
|
*/
|
|
|
|
/** @dir support
|
|
* @brief Various headers to work around toolchains / platform issues.
|
|
*/
|
|
|
|
/** @dir tests
|
|
* @brief All test related files shared between validation and benchmark.
|
|
*/
|
|
|
|
/** @file tests/main.cpp
|
|
* @brief Main entry point for the tests. Currently shared between validation and benchmarking.
|
|
*/
|
|
|
|
/** @dir tests/CL
|
|
* @brief OpenCL accessors.
|
|
*/
|
|
|
|
/** @dir tests/GLES_COMPUTE
|
|
* @brief GLES accessors.
|
|
*/
|
|
|
|
/** @dir tests/NEON
|
|
* @brief NEON accessors.
|
|
*/
|
|
|
|
/** @dir tests/benchmark
|
|
* @brief Sources for benchmarking.
|
|
*/
|
|
|
|
/** @dir tests/benchmark/CL
|
|
* @brief OpenCL benchmarking tests.
|
|
*/
|
|
|
|
/** @dir tests/benchmark/GLES_COMPUTE
|
|
* @brief GLES benchmarking tests.
|
|
*/
|
|
|
|
/** @dir tests/benchmark/NEON
|
|
* @brief NEON benchmarking tests.
|
|
*/
|
|
|
|
/** @dir tests/benchmark_examples
|
|
* @brief Sources needed to wrap examples to run through our benchmarking framework.
|
|
*/
|
|
|
|
/** @dir tests/framework
|
|
* @brief Boiler plate code for both validation and benchmark test suites (Command line parsers, instruments, output loggers, etc.)
|
|
*/
|
|
|
|
/** @dir tests/instruments
|
|
* @brief User defined instruments that can be registered to the framework.
|
|
*/
|
|
|
|
/** @dir tests/validate_examples
|
|
* @brief Sources needed to wrap examples to run through our validation framework.
|
|
*/
|
|
|
|
/** @dir tests/validation
|
|
* @brief Source for validation.
|
|
*/
|
|
|
|
/** @dir tests/validation/CL
|
|
* @brief OpenCL validation tests.
|
|
*/
|
|
|
|
/** @dir tests/validation/CPP
|
|
* @brief C++ validation tests.
|
|
*/
|
|
|
|
/** @dir tests/validation/GLES_COMPUTE
|
|
* @brief GLES validation tests.
|
|
*/
|
|
|
|
/** @dir tests/validation/NEON
|
|
* @brief NEON validation tests.
|
|
*/
|
|
|
|
/** @dir tests/validation/reference
|
|
* @brief Reference implementation used to validate the results of the various backends.
|
|
*/
|