diff options
20 files changed, 34 insertions, 27 deletions
diff --git a/SConscript b/SConscript index 9c62f37abc..87571a3bf4 100644 --- a/SConscript +++ b/SConscript @@ -230,6 +230,8 @@ if env['neon']: arm_compute_env.Append(CPPPATH = ["arm_compute/core/NEON/kernels/convolution/common/", "arm_compute/core/NEON/kernels/convolution/winograd/", "arm_compute/core/NEON/kernels/convolution/depthwise/", + "src/core/NEON/kernels/assembly/", + "src/core/NEON/kernels/convolution/winograd/", "arm_compute/core/NEON/kernels/assembly/"]) graph_files += Glob('src/graph/backends/NEON/*.cpp') diff --git a/arm_compute/core/NEON/NEKernels.h b/arm_compute/core/NEON/NEKernels.h index dfe0ccaafc..1c87b11030 100644 --- a/arm_compute/core/NEON/NEKernels.h +++ b/arm_compute/core/NEON/NEKernels.h @@ -150,7 +150,6 @@ #include "arm_compute/core/NEON/kernels/NEWarpKernel.h" #include "arm_compute/core/NEON/kernels/NEWeightsReshapeKernel.h" #include "arm_compute/core/NEON/kernels/NEWidthConcatenateLayerKernel.h" -#include "arm_compute/core/NEON/kernels/NEWinogradConvolutionLayerKernel.h" #include "arm_compute/core/NEON/kernels/NEYOLOLayerKernel.h" #endif /* ARM_COMPUTE_NEKERNELS_H */ diff --git a/arm_compute/runtime/NEON/functions/NEGEMMAssemblyDispatch.h b/arm_compute/runtime/NEON/functions/NEGEMMAssemblyDispatch.h index ae0ae440d8..f469eaeab6 100644 --- a/arm_compute/runtime/NEON/functions/NEGEMMAssemblyDispatch.h +++ b/arm_compute/runtime/NEON/functions/NEGEMMAssemblyDispatch.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2019 ARM Limited. + * Copyright (c) 2018-2020 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -24,15 +24,12 @@ #ifndef ARM_COMPUTE_NEGEMMASSEMBLYDISPATCH_H #define ARM_COMPUTE_NEGEMMASSEMBLYDISPATCH_H -#include "arm_compute/core/NEON/kernels/assembly/NEGEMMAssemblyWrapperKernel.h" #include "arm_compute/runtime/IFunction.h" #include "arm_compute/runtime/IMemoryManager.h" #include "arm_compute/runtime/IWeightsManager.h" #include "arm_compute/runtime/MemoryGroup.h" #include "arm_compute/runtime/Tensor.h" -#include "arm_compute/core/NEON/kernels/assembly/arm_gemm.hpp" - namespace arm_compute { /** Assembly kernel glue */ diff --git a/scripts/clang_tidy_rules.py b/scripts/clang_tidy_rules.py index a030f211a4..5e13aa04b4 100755 --- a/scripts/clang_tidy_rules.py +++ b/scripts/clang_tidy_rules.py @@ -8,6 +8,8 @@ def get_list_includes(): "arm_compute/core/NEON/kernels/convolution/common " \ "arm_compute/core/NEON/kernels/convolution/depthwise " \ "arm_compute/core/NEON/kernels/convolution/winograd " \ + "src/core/NEON/kernels/assembly " \ + "src/core/NEON/kernels/convolution/winograd " \ "include/linux include " \ ". " \ "3rdparty/include kernels".split() diff --git a/src/core/NEON/kernels/NEWinogradConvolutionLayerKernel.cpp b/src/core/NEON/kernels/NEWinogradConvolutionLayerKernel.cpp index 3100bf7308..c3da5ca0e2 100644 --- a/src/core/NEON/kernels/NEWinogradConvolutionLayerKernel.cpp +++ b/src/core/NEON/kernels/NEWinogradConvolutionLayerKernel.cpp @@ -21,7 +21,7 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ -#include "arm_compute/core/NEON/kernels/NEWinogradConvolutionLayerKernel.h" +#include "src/core/NEON/kernels/NEWinogradConvolutionLayerKernel.h" #include "arm_compute/core/AccessWindowStatic.h" #include "arm_compute/core/Error.h" @@ -35,6 +35,8 @@ #include "arm_compute/core/utils/misc/ShapeCalculator.h" #include "support/MemorySupport.h" +#include "src/core/NEON/kernels/convolution/winograd/winograd_layer.hpp" + namespace arm_compute { //Batched Gemms diff --git a/arm_compute/core/NEON/kernels/NEWinogradConvolutionLayerKernel.h b/src/core/NEON/kernels/NEWinogradConvolutionLayerKernel.h index 1740df0312..bd141ef50b 100644 --- a/arm_compute/core/NEON/kernels/NEWinogradConvolutionLayerKernel.h +++ b/src/core/NEON/kernels/NEWinogradConvolutionLayerKernel.h @@ -27,7 +27,8 @@ #include "arm_compute/core/NEON/INEKernel.h" #include "arm_compute/core/NEON/kernels/convolution/common/convolution.hpp" #include "arm_compute/core/NEON/kernels/convolution/common/tensor.hpp" -#include "arm_compute/core/NEON/kernels/convolution/winograd/winograd_layer.hpp" + +#include "src/core/NEON/kernels/convolution/winograd/winograd_layer.hpp" namespace arm_compute { diff --git a/src/core/NEON/kernels/arm_gemm/gemm_hybrid.hpp b/src/core/NEON/kernels/arm_gemm/gemm_hybrid.hpp index aeeed26702..0ce323e09d 100644 --- a/src/core/NEON/kernels/arm_gemm/gemm_hybrid.hpp +++ b/src/core/NEON/kernels/arm_gemm/gemm_hybrid.hpp @@ -31,7 +31,7 @@ #include "bias_adder.hpp" #include "utils.hpp" -#include "arm_compute/core/NEON/kernels/arm_gemm/ndrange.hpp" +#include "ndrange.hpp" #include "mergeresults.hpp" #include "transform.hpp" diff --git a/src/core/NEON/kernels/arm_gemm/gemm_hybrid_quantized.hpp b/src/core/NEON/kernels/arm_gemm/gemm_hybrid_quantized.hpp index 6897e64d4b..d9b1a71ea8 100644 --- a/src/core/NEON/kernels/arm_gemm/gemm_hybrid_quantized.hpp +++ b/src/core/NEON/kernels/arm_gemm/gemm_hybrid_quantized.hpp @@ -30,7 +30,7 @@ #include "arm_gemm.hpp" #include "utils.hpp" -#include "arm_compute/core/NEON/kernels/arm_gemm/ndrange.hpp" +#include "ndrange.hpp" #include "mergeresults.hpp" #include "transform.hpp" diff --git a/src/core/NEON/kernels/arm_gemm/gemm_native.hpp b/src/core/NEON/kernels/arm_gemm/gemm_native.hpp index fb01a731b8..c2f742b5cf 100644 --- a/src/core/NEON/kernels/arm_gemm/gemm_native.hpp +++ b/src/core/NEON/kernels/arm_gemm/gemm_native.hpp @@ -27,7 +27,7 @@ #include "arm_gemm.hpp" -#include "arm_compute/core/NEON/kernels/arm_gemm/ndrange.hpp" +#include "ndrange.hpp" #ifdef CYCLE_PROFILING #include "profiler.hpp" diff --git a/src/core/NEON/kernels/assembly/Helpers.cpp b/src/core/NEON/kernels/assembly/Helpers.cpp index 93ea6c8d5e..5990505a59 100644 --- a/src/core/NEON/kernels/assembly/Helpers.cpp +++ b/src/core/NEON/kernels/assembly/Helpers.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2019 ARM Limited. + * Copyright (c) 2018-2020 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -22,7 +22,7 @@ * SOFTWARE. */ -#include "arm_compute/core/NEON/kernels/assembly/Helpers.h" +#include "src/core/NEON/kernels/assembly/Helpers.h" namespace arm_compute { diff --git a/arm_compute/core/NEON/kernels/assembly/Helpers.h b/src/core/NEON/kernels/assembly/Helpers.h index 9372e05295..09c0446ada 100644 --- a/arm_compute/core/NEON/kernels/assembly/Helpers.h +++ b/src/core/NEON/kernels/assembly/Helpers.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2019 ARM Limited. + * Copyright (c) 2018-2020 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -28,7 +28,7 @@ #include "arm_compute/core/Utils.h" #include "arm_compute/core/NEON/kernels/assembly/INEGEMMWrapperKernel.h" -#include "arm_compute/core/NEON/kernels/assembly/arm_gemm.hpp" +#include "arm_gemm.hpp" namespace arm_compute { diff --git a/arm_compute/core/NEON/kernels/assembly/NEGEMMAssemblyWrapperKernel.h b/src/core/NEON/kernels/assembly/NEGEMMAssemblyWrapperKernel.h index 0e3dd74577..2d3d805553 100644 --- a/arm_compute/core/NEON/kernels/assembly/NEGEMMAssemblyWrapperKernel.h +++ b/src/core/NEON/kernels/assembly/NEGEMMAssemblyWrapperKernel.h @@ -24,10 +24,10 @@ #ifndef ARM_COMPUTE_ASSEMBLY_GEMM_KERNEL_WRAPPER_KERNEL_H #define ARM_COMPUTE_ASSEMBLY_GEMM_KERNEL_WRAPPER_KERNEL_H -#include "arm_compute/core/NEON/kernels/assembly/arm_gemm_compute_iface.hpp" #include "arm_compute/core/NEON/INEKernel.h" #include "arm_compute/core/Utils.h" #include "arm_compute/core/Validate.h" +#include "arm_gemm_compute_iface.hpp" #include "gemm_common.hpp" @@ -67,15 +67,14 @@ public: return _name.c_str(); } - void run(const Window &window, const ThreadInfo &info) override { ARM_COMPUTE_ERROR_ON_NULLPTR((reinterpret_cast<void *>(_kernel))); ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this); - auto win=arm_gemm::to_ndcoord(window); + auto win = arm_gemm::to_ndcoord(window); - arm_gemm::ndcoord_t thread_locator { }; + arm_gemm::ndcoord_t thread_locator{}; _kernel->execute(win, thread_locator, info.thread_id); } @@ -101,7 +100,7 @@ public: void configure(arm_gemm::GemmCommon<TypeInput, TypeOutput> *kernel, std::string kernel_name_tag) { ARM_COMPUTE_ERROR_ON_NULLPTR((reinterpret_cast<void *>(kernel))); - _kernel = kernel; + _kernel = kernel; Window win = to_window(kernel->get_window_size()); diff --git a/arm_compute/core/NEON/kernels/assembly/arm_gemm.hpp b/src/core/NEON/kernels/assembly/arm_gemm.hpp index 7723224ec8..7723224ec8 100644 --- a/arm_compute/core/NEON/kernels/assembly/arm_gemm.hpp +++ b/src/core/NEON/kernels/assembly/arm_gemm.hpp diff --git a/arm_compute/core/NEON/kernels/assembly/arm_gemm_compute_iface.hpp b/src/core/NEON/kernels/assembly/arm_gemm_compute_iface.hpp index 6f345c1721..ab3a67c37c 100644 --- a/arm_compute/core/NEON/kernels/assembly/arm_gemm_compute_iface.hpp +++ b/src/core/NEON/kernels/assembly/arm_gemm_compute_iface.hpp @@ -25,7 +25,8 @@ #include "arm_compute/core/Window.h" #include "arm_compute/core/Dimensions.h" -#include "arm_compute/core/NEON/kernels/arm_gemm/ndrange.hpp" + +#include "ndrange.hpp" #include <cassert> diff --git a/arm_compute/core/NEON/kernels/assembly/gemm_common.hpp b/src/core/NEON/kernels/assembly/gemm_common.hpp index ea9b524e15..a44b774b9d 100644 --- a/arm_compute/core/NEON/kernels/assembly/gemm_common.hpp +++ b/src/core/NEON/kernels/assembly/gemm_common.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2020 Arm Limited. + * Copyright (c) 2017-2020 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -23,7 +23,7 @@ */ #pragma once -#include "arm_compute/core/NEON/kernels/assembly/arm_gemm_compute_iface.hpp" +#include "arm_gemm_compute_iface.hpp" #include <cstddef> #include <cassert> diff --git a/arm_compute/core/NEON/kernels/arm_gemm/ndrange.hpp b/src/core/NEON/kernels/assembly/ndrange.hpp index 4ff83fbc51..d082a3e9b8 100644 --- a/arm_compute/core/NEON/kernels/arm_gemm/ndrange.hpp +++ b/src/core/NEON/kernels/assembly/ndrange.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2020 Arm Limited. + * Copyright (c) 2019-2020 ARM Limited. * * SPDX-License-Identifier: MIT * diff --git a/arm_compute/core/NEON/kernels/convolution/winograd/winograd.hpp b/src/core/NEON/kernels/convolution/winograd/winograd.hpp index bc0d9d4296..0207eedfa7 100644 --- a/arm_compute/core/NEON/kernels/convolution/winograd/winograd.hpp +++ b/src/core/NEON/kernels/convolution/winograd/winograd.hpp @@ -24,7 +24,7 @@ #pragma once -#include "arm_compute/core/NEON/kernels/assembly/arm_gemm.hpp" +#include "arm_gemm.hpp" #include <cstddef> #include <utility> diff --git a/arm_compute/core/NEON/kernels/convolution/winograd/winograd_layer.hpp b/src/core/NEON/kernels/convolution/winograd/winograd_layer.hpp index ed8fede385..ed8fede385 100644 --- a/arm_compute/core/NEON/kernels/convolution/winograd/winograd_layer.hpp +++ b/src/core/NEON/kernels/convolution/winograd/winograd_layer.hpp diff --git a/src/runtime/NEON/functions/NEGEMMAssemblyDispatch.cpp b/src/runtime/NEON/functions/NEGEMMAssemblyDispatch.cpp index 24bd7d7a8c..7a1f0850b2 100644 --- a/src/runtime/NEON/functions/NEGEMMAssemblyDispatch.cpp +++ b/src/runtime/NEON/functions/NEGEMMAssemblyDispatch.cpp @@ -23,10 +23,14 @@ */ #include "arm_compute/runtime/NEON/functions/NEGEMMAssemblyDispatch.h" +#include "src/core/NEON/kernels/assembly/arm_gemm.hpp" + #include "arm_compute/core/CPP/Validate.h" #include "arm_compute/runtime/NEON/NEScheduler.h" #include "arm_compute/runtime/NEON/functions/NESimpleAssemblyFunction.h" +#include "src/core/NEON/kernels/assembly/NEGEMMAssemblyWrapperKernel.h" + #include <arm_neon.h> namespace arm_compute @@ -433,7 +437,6 @@ void Fallback<TypeInput, TypeOutput, OutputStage>::run() { const int granule_threshold = 200; scheduling_hint = IScheduler::Hints(Window::DimX, IScheduler::StrategyHint::DYNAMIC, granule_threshold); - } else if(_kernel_info.method == arm_gemm::GemmMethod::GEMM_INTERLEAVED_2D && _d->info()->data_type() == DataType::F32) { @@ -467,6 +470,7 @@ void create_arm_gemm_quant(std::unique_ptr<NEGEMMAssemblyDispatch::IFallback> &a const ITensor *a, const ITensor *b, const ITensor *c, ITensor *d, arm_gemm::Activation activation, const GEMMInfo &gemm_info, IWeightsManager *weights_manager) { + ARM_COMPUTE_UNUSED(activation); INEGEMMWrapperKernel::Params p = INEGEMMWrapperKernel::extract_parameters(a, b, d, gemm_info); const CPUInfo &ci = NEScheduler::get().cpu_info(); unsigned int num_threads = NEScheduler::get().num_threads(); diff --git a/src/runtime/NEON/functions/NEWinogradConvolutionLayer.cpp b/src/runtime/NEON/functions/NEWinogradConvolutionLayer.cpp index d567a18709..a74e710c62 100644 --- a/src/runtime/NEON/functions/NEWinogradConvolutionLayer.cpp +++ b/src/runtime/NEON/functions/NEWinogradConvolutionLayer.cpp @@ -25,16 +25,16 @@ #include "arm_compute/core/CPP/Validate.h" #include "arm_compute/core/Error.h" -#include "arm_compute/core/NEON/kernels/NEWinogradConvolutionLayerKernel.h" #include "arm_compute/core/Utils.h" #include "arm_compute/core/Validate.h" #include "arm_compute/core/utils/misc/ShapeCalculator.h" #include "arm_compute/runtime/NEON/NEScheduler.h" #include "arm_compute/runtime/NEON/functions/NEGEMMAssemblyDispatch.h" +#include "src/core/NEON/kernels/NEWinogradConvolutionLayerKernel.h" #include "support/MemorySupport.h" #include "arm_compute/core/NEON/kernels/convolution/common/utils.hpp" -#include "arm_compute/core/NEON/kernels/convolution/winograd/winograd.hpp" +#include "src/core/NEON/kernels/convolution/winograd/winograd.hpp" namespace arm_compute { |