blob: 33a640fa0586fc41260377a18cc3e90c44f112d2 [file] [log] [blame]
Anthony Barbier6ff3b192017-09-04 18:44:23 +01001/*
Georgios Pinitas6d9d6f42018-12-24 16:10:47 +00002 * Copyright (c) 2016-2019 ARM Limited.
Anthony Barbier6ff3b192017-09-04 18:44:23 +01003 *
4 * SPDX-License-Identifier: MIT
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a copy
7 * of this software and associated documentation files (the "Software"), to
8 * deal in the Software without restriction, including without limitation the
9 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10 * sell copies of the Software, and to permit persons to whom the Software is
11 * furnished to do so, subject to the following conditions:
12 *
13 * The above copyright notice and this permission notice shall be included in all
14 * copies or substantial portions of the Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 * SOFTWARE.
23 */
24#ifndef __ARM_COMPUTE_NEKERNELS_H__
25#define __ARM_COMPUTE_NEKERNELS_H__
26
27/* Header regrouping all the NEON kernels */
28#include "arm_compute/core/NEON/kernels/NEAbsoluteDifferenceKernel.h"
29#include "arm_compute/core/NEON/kernels/NEAccumulateKernel.h"
30#include "arm_compute/core/NEON/kernels/NEActivationLayerKernel.h"
31#include "arm_compute/core/NEON/kernels/NEArithmeticAdditionKernel.h"
32#include "arm_compute/core/NEON/kernels/NEArithmeticSubtractionKernel.h"
Vidhya Sudhan Loganathan338595b2019-06-28 14:09:53 +010033#include "arm_compute/core/NEON/kernels/NEBatchConcatenateLayerKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +010034#include "arm_compute/core/NEON/kernels/NEBatchNormalizationLayerKernel.h"
giuros01fc1da132019-02-18 16:48:35 +000035#include "arm_compute/core/NEON/kernels/NEBatchToSpaceLayerKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +010036#include "arm_compute/core/NEON/kernels/NEBitwiseAndKernel.h"
37#include "arm_compute/core/NEON/kernels/NEBitwiseNotKernel.h"
38#include "arm_compute/core/NEON/kernels/NEBitwiseOrKernel.h"
39#include "arm_compute/core/NEON/kernels/NEBitwiseXorKernel.h"
Pablo Telloed0e35b2019-08-30 14:44:52 +010040#include "arm_compute/core/NEON/kernels/NEBoundingBoxTransformKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +010041#include "arm_compute/core/NEON/kernels/NEBox3x3Kernel.h"
42#include "arm_compute/core/NEON/kernels/NECannyEdgeKernel.h"
43#include "arm_compute/core/NEON/kernels/NEChannelCombineKernel.h"
44#include "arm_compute/core/NEON/kernels/NEChannelExtractKernel.h"
Georgios Pinitasf1adf112018-11-02 12:54:18 +000045#include "arm_compute/core/NEON/kernels/NEChannelShuffleLayerKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +010046#include "arm_compute/core/NEON/kernels/NECol2ImKernel.h"
47#include "arm_compute/core/NEON/kernels/NEColorConvertKernel.h"
Giorgio Arena657bdb32018-04-26 18:52:01 +010048#include "arm_compute/core/NEON/kernels/NEConvertFullyConnectedWeightsKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +010049#include "arm_compute/core/NEON/kernels/NEConvolutionKernel.h"
Michalis Spyrou1d382592018-08-13 17:28:04 +010050#include "arm_compute/core/NEON/kernels/NECopyKernel.h"
George Wort05398a92019-01-25 15:38:33 +000051#include "arm_compute/core/NEON/kernels/NECropKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +010052#include "arm_compute/core/NEON/kernels/NECumulativeDistributionKernel.h"
Giorgio Arena04a8f8c2017-11-23 11:45:24 +000053#include "arm_compute/core/NEON/kernels/NEDepthConcatenateLayerKernel.h"
54#include "arm_compute/core/NEON/kernels/NEDepthConvertLayerKernel.h"
Michalis Spyrou22f917c2019-05-21 13:30:10 +010055#include "arm_compute/core/NEON/kernels/NEDepthToSpaceLayerKernel.h"
Giorgio Arena04a8f8c2017-11-23 11:45:24 +000056#include "arm_compute/core/NEON/kernels/NEDepthwiseConvolutionLayer3x3Kernel.h"
Gian Marco Iodicebd9097d2019-07-26 15:31:02 +010057#include "arm_compute/core/NEON/kernels/NEDepthwiseConvolutionLayerNativeKernel.h"
Anthony Barbier14e7d142017-09-14 12:05:05 +010058#include "arm_compute/core/NEON/kernels/NEDequantizationLayerKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +010059#include "arm_compute/core/NEON/kernels/NEDerivativeKernel.h"
60#include "arm_compute/core/NEON/kernels/NEDilateKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +010061#include "arm_compute/core/NEON/kernels/NEDirectConvolutionLayerKernel.h"
Michalis Spyroub91e34c2017-12-20 15:50:55 +000062#include "arm_compute/core/NEON/kernels/NEDirectConvolutionLayerOutputStageKernel.h"
giuros0192fd9432018-12-03 17:30:00 +000063#include "arm_compute/core/NEON/kernels/NEElementwiseOperationKernel.h"
George Wort5a97b282018-12-21 16:21:04 +000064#include "arm_compute/core/NEON/kernels/NEElementwiseUnaryKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +010065#include "arm_compute/core/NEON/kernels/NEErodeKernel.h"
giuros0114c4e0f2019-03-26 17:44:40 +000066#include "arm_compute/core/NEON/kernels/NEFFTDigitReverseKernel.h"
67#include "arm_compute/core/NEON/kernels/NEFFTRadixStageKernel.h"
giuros0105fb4482019-03-26 17:44:40 +000068#include "arm_compute/core/NEON/kernels/NEFFTScaleKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +010069#include "arm_compute/core/NEON/kernels/NEFastCornersKernel.h"
70#include "arm_compute/core/NEON/kernels/NEFillArrayKernel.h"
71#include "arm_compute/core/NEON/kernels/NEFillBorderKernel.h"
72#include "arm_compute/core/NEON/kernels/NEFillInnerBorderKernel.h"
Giorgio Arena368e6352018-08-20 15:06:07 +010073#include "arm_compute/core/NEON/kernels/NEFlattenLayerKernel.h"
Georgios Pinitasd8e765b2017-08-02 13:44:33 +010074#include "arm_compute/core/NEON/kernels/NEFloorKernel.h"
giuros0115ecc9a2018-12-06 10:47:34 +000075#include "arm_compute/core/NEON/kernels/NEFuseBatchNormalizationKernel.h"
Anthony Barbier6a5627a2017-09-26 14:42:02 +010076#include "arm_compute/core/NEON/kernels/NEGEMMAssemblyBaseKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +010077#include "arm_compute/core/NEON/kernels/NEGEMMInterleave4x4Kernel.h"
78#include "arm_compute/core/NEON/kernels/NEGEMMLowpMatrixMultiplyKernel.h"
Gian Marcoe75a02b2017-11-08 12:24:09 +000079#include "arm_compute/core/NEON/kernels/NEGEMMLowpOffsetContributionKernel.h"
George Wort2d7e6832019-02-22 16:37:41 +000080#include "arm_compute/core/NEON/kernels/NEGEMMLowpOffsetContributionOutputStageKernel.h"
Gian Marco Iodicebc415af2019-06-13 15:58:32 +010081#include "arm_compute/core/NEON/kernels/NEGEMMLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel.h"
Gian Marco58c57942017-11-28 09:10:03 +000082#include "arm_compute/core/NEON/kernels/NEGEMMLowpQuantizeDownInt32ToUint8ScaleByFixedPointKernel.h"
Gian Marcoe75a02b2017-11-08 12:24:09 +000083#include "arm_compute/core/NEON/kernels/NEGEMMLowpQuantizeDownInt32ToUint8ScaleKernel.h"
Gian Marco Iodiceab182122017-10-09 15:05:40 +010084#include "arm_compute/core/NEON/kernels/NEGEMMLowpReductionKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +010085#include "arm_compute/core/NEON/kernels/NEGEMMMatrixAccumulateBiasesKernel.h"
86#include "arm_compute/core/NEON/kernels/NEGEMMMatrixAdditionKernel.h"
87#include "arm_compute/core/NEON/kernels/NEGEMMMatrixMultiplyKernel.h"
Michalis Spyroub7b31532017-11-23 12:10:21 +000088#include "arm_compute/core/NEON/kernels/NEGEMMMatrixVectorMultiplyKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +010089#include "arm_compute/core/NEON/kernels/NEGEMMTranspose1xWKernel.h"
John Kesapides2dce6cc2019-01-14 09:47:09 +000090#include "arm_compute/core/NEON/kernels/NEGatherKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +010091#include "arm_compute/core/NEON/kernels/NEGaussian3x3Kernel.h"
92#include "arm_compute/core/NEON/kernels/NEGaussian5x5Kernel.h"
93#include "arm_compute/core/NEON/kernels/NEGaussianPyramidKernel.h"
Pablo Telloc9564cb2019-09-13 10:20:25 +010094#include "arm_compute/core/NEON/kernels/NEGenerateProposalsLayerKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +010095#include "arm_compute/core/NEON/kernels/NEHOGDescriptorKernel.h"
96#include "arm_compute/core/NEON/kernels/NEHOGDetectorKernel.h"
97#include "arm_compute/core/NEON/kernels/NEHarrisCornersKernel.h"
Pablo Tello3dd5b682019-03-04 14:14:02 +000098#include "arm_compute/core/NEON/kernels/NEHeightConcatenateLayerKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +010099#include "arm_compute/core/NEON/kernels/NEHistogramKernel.h"
100#include "arm_compute/core/NEON/kernels/NEIm2ColKernel.h"
Manuel Bottini769c6382019-08-22 13:13:48 +0100101#include "arm_compute/core/NEON/kernels/NEInstanceNormalizationLayerKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +0100102#include "arm_compute/core/NEON/kernels/NEIntegralImageKernel.h"
Giorgio Arena04a8f8c2017-11-23 11:45:24 +0000103#include "arm_compute/core/NEON/kernels/NEL2NormalizeLayerKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +0100104#include "arm_compute/core/NEON/kernels/NELKTrackerKernel.h"
105#include "arm_compute/core/NEON/kernels/NELocallyConnectedMatrixMultiplyKernel.h"
106#include "arm_compute/core/NEON/kernels/NEMagnitudePhaseKernel.h"
107#include "arm_compute/core/NEON/kernels/NEMeanStdDevKernel.h"
Michele Di Giorgio91753922019-06-13 10:56:59 +0100108#include "arm_compute/core/NEON/kernels/NEMeanStdDevNormalizationKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +0100109#include "arm_compute/core/NEON/kernels/NEMedian3x3Kernel.h"
Georgios Pinitasdea2d2d2018-12-19 16:23:17 +0000110#include "arm_compute/core/NEON/kernels/NEMemsetKernel.h"
Anthony Barbier14e7d142017-09-14 12:05:05 +0100111#include "arm_compute/core/NEON/kernels/NEMinMaxLayerKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +0100112#include "arm_compute/core/NEON/kernels/NEMinMaxLocationKernel.h"
113#include "arm_compute/core/NEON/kernels/NENonLinearFilterKernel.h"
114#include "arm_compute/core/NEON/kernels/NENonMaximaSuppression3x3Kernel.h"
115#include "arm_compute/core/NEON/kernels/NENormalizationLayerKernel.h"
Manuel Bottini9032ee32019-08-07 17:04:11 +0100116#include "arm_compute/core/NEON/kernels/NEPadLayerKernel.h"
Georgios Pinitas284cfe22018-02-13 12:15:13 +0000117#include "arm_compute/core/NEON/kernels/NEPermuteKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +0100118#include "arm_compute/core/NEON/kernels/NEPixelWiseMultiplicationKernel.h"
119#include "arm_compute/core/NEON/kernels/NEPoolingLayerKernel.h"
Michalis Spyrou721c4cb2018-09-04 15:27:25 +0100120#include "arm_compute/core/NEON/kernels/NEPriorBoxLayerKernel.h"
Anthony Barbier14e7d142017-09-14 12:05:05 +0100121#include "arm_compute/core/NEON/kernels/NEQuantizationLayerKernel.h"
Pablo Tellod75f9e92019-08-23 16:26:26 +0100122#include "arm_compute/core/NEON/kernels/NEROIAlignLayerKernel.h"
Georgios Pinitas7b7858d2017-06-21 16:44:24 +0100123#include "arm_compute/core/NEON/kernels/NEROIPoolingLayerKernel.h"
Manuel Bottini053e7512018-12-28 15:05:20 +0000124#include "arm_compute/core/NEON/kernels/NERangeKernel.h"
Georgios Pinitasd9769582017-08-03 10:19:40 +0100125#include "arm_compute/core/NEON/kernels/NEReductionOperationKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +0100126#include "arm_compute/core/NEON/kernels/NERemapKernel.h"
Georgios Pinitasaa6a04a2018-08-29 12:53:41 +0100127#include "arm_compute/core/NEON/kernels/NEReorgLayerKernel.h"
Georgios Pinitas5ee66ea2017-09-07 17:29:16 +0100128#include "arm_compute/core/NEON/kernels/NEReshapeLayerKernel.h"
Michalis Spyrou110b9202018-12-28 16:32:49 +0000129#include "arm_compute/core/NEON/kernels/NEReverseKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +0100130#include "arm_compute/core/NEON/kernels/NEScaleKernel.h"
131#include "arm_compute/core/NEON/kernels/NEScharr3x3Kernel.h"
George Wort5801a552018-12-13 17:50:26 +0000132#include "arm_compute/core/NEON/kernels/NESelectKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +0100133#include "arm_compute/core/NEON/kernels/NESobel3x3Kernel.h"
134#include "arm_compute/core/NEON/kernels/NESobel5x5Kernel.h"
135#include "arm_compute/core/NEON/kernels/NESobel7x7Kernel.h"
136#include "arm_compute/core/NEON/kernels/NESoftmaxLayerKernel.h"
giuros01ba368252019-02-19 13:53:10 +0000137#include "arm_compute/core/NEON/kernels/NESpaceToBatchLayerKernel.h"
Manuel Bottini5b7d5372019-05-17 14:04:22 +0100138#include "arm_compute/core/NEON/kernels/NESpaceToDepthLayerKernel.h"
Isabella Gottardiee7c15d2018-12-17 16:15:34 +0000139#include "arm_compute/core/NEON/kernels/NEStackLayerKernel.h"
Georgios Pinitas6d9d6f42018-12-24 16:10:47 +0000140#include "arm_compute/core/NEON/kernels/NEStridedSliceKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +0100141#include "arm_compute/core/NEON/kernels/NETableLookupKernel.h"
142#include "arm_compute/core/NEON/kernels/NEThresholdKernel.h"
giuros01be1c0172018-12-04 11:36:08 +0000143#include "arm_compute/core/NEON/kernels/NETileKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +0100144#include "arm_compute/core/NEON/kernels/NETransposeKernel.h"
Michalis Spyrou7c9541c2018-09-20 17:40:04 +0100145#include "arm_compute/core/NEON/kernels/NEUpsampleLayerKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +0100146#include "arm_compute/core/NEON/kernels/NEWarpKernel.h"
147#include "arm_compute/core/NEON/kernels/NEWeightsReshapeKernel.h"
Georgios Pinitasae54e022018-07-16 15:41:27 +0100148#include "arm_compute/core/NEON/kernels/NEWidthConcatenateLayerKernel.h"
Georgios Pinitas9fb11592018-04-26 20:34:58 +0100149#include "arm_compute/core/NEON/kernels/NEWinogradConvolutionLayerKernel.h"
Michalis Spyroua6825a42018-09-13 12:24:03 +0100150#include "arm_compute/core/NEON/kernels/NEYOLOLayerKernel.h"
Anthony Barbier6ff3b192017-09-04 18:44:23 +0100151
152#endif /* __ARM_COMPUTE_NEKERNELS_H__ */