diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2019-01-30 17:17:16 +0000 |
---|---|---|
committer | Georgios Pinitas <georgios.pinitas@arm.com> | 2019-02-04 12:45:51 +0000 |
commit | 3dbfd23d68b9450fc3e8bf97d92bc211e78e8979 (patch) | |
tree | 5ed9fa0b99ddaac47688af280b9f5415fffb0fbd /arm_compute | |
parent | 62c3639b086d768661edc04b9b7e01a54edf486b (diff) | |
download | ComputeLibrary-3dbfd23d68b9450fc3e8bf97d92bc211e78e8979.tar.gz |
COMPMID-1710: Introduce GEMM strategy name in GEMMAssemblyWrapper.
Change-Id: I0fd1a313c051849572367e46e7aa64b1adee5763
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-on: https://review.mlplatform.org/604
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Isabella Gottardi <isabella.gottardi@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Diffstat (limited to 'arm_compute')
-rw-r--r-- | arm_compute/core/NEON/kernels/assembly/NEGEMMAssemblyWrapperKernel.h | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/arm_compute/core/NEON/kernels/assembly/NEGEMMAssemblyWrapperKernel.h b/arm_compute/core/NEON/kernels/assembly/NEGEMMAssemblyWrapperKernel.h index 9eaf6061d8..084c3f2401 100644 --- a/arm_compute/core/NEON/kernels/assembly/NEGEMMAssemblyWrapperKernel.h +++ b/arm_compute/core/NEON/kernels/assembly/NEGEMMAssemblyWrapperKernel.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 ARM Limited. + * Copyright (c) 2018-2019 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -25,8 +25,8 @@ #define __ARM_COMPUTE_ASSEMBLY_GEMM_KERNEL_WRAPPER_KERNEL_H__ #include "arm_compute/core/NEON/INEKernel.h" -#include "arm_compute/core/Validate.h" #include "arm_compute/core/Utils.h" +#include "arm_compute/core/Validate.h" #include "gemm_common.hpp" @@ -52,20 +52,28 @@ class NEGEMMAssemblyWrapperKernel final : public INEKernel public: /** Constructor */ - NEGEMMAssemblyWrapperKernel() : _kernel(nullptr) {} + NEGEMMAssemblyWrapperKernel() + : _kernel(nullptr), _kernel_name_tag() + { + } - NEGEMMAssemblyWrapperKernel(NEGEMMAssemblyWrapperKernel &) = delete; + NEGEMMAssemblyWrapperKernel(NEGEMMAssemblyWrapperKernel &) = delete; NEGEMMAssemblyWrapperKernel(NEGEMMAssemblyWrapperKernel &&) = default; - NEGEMMAssemblyWrapperKernel & operator=(NEGEMMAssemblyWrapperKernel &) = delete; + NEGEMMAssemblyWrapperKernel &operator=(NEGEMMAssemblyWrapperKernel &) = delete; const char *name() const override { - return "NEGEMMAssemblyWrapperKernel"; + std::string name = "NEGEMMAssemblyWrapperKernel"; + if(!_kernel_name_tag.empty()) + { + name += "/" + _kernel_name_tag; + } + return name.c_str(); } // Inherited methods overridden: void run(const Window &window, const ThreadInfo &info) override { - ARM_COMPUTE_ERROR_ON_NULLPTR((reinterpret_cast<void*>(_kernel))); + ARM_COMPUTE_ERROR_ON_NULLPTR((reinterpret_cast<void *>(_kernel))); ARM_COMPUTE_ERROR_ON_UNCONFIGURED_KERNEL(this); auto first = window.x().start(); auto last = window.x().end(); @@ -76,18 +84,20 @@ public: * @param[in] kernel Pointer to an assembly kernel implementation. * @param[in] num_threads Number of concurrent threads which will execute the kernel. */ - void configure(arm_gemm::GemmCommon<TypeInput, TypeOutput> *kernel) + void configure(arm_gemm::GemmCommon<TypeInput, TypeOutput> *kernel, std::string kernel_name_tag) { - ARM_COMPUTE_ERROR_ON_NULLPTR((reinterpret_cast<void*>(kernel))); - _kernel = kernel; - auto win_last = _kernel->get_window_size(); + ARM_COMPUTE_ERROR_ON_NULLPTR((reinterpret_cast<void *>(kernel))); + _kernel = kernel; + _kernel_name_tag = kernel_name_tag; + auto win_last = _kernel->get_window_size(); Window win; win.set(Window::DimX, Window::Dimension(0, win_last, 1)); INEKernel::configure(win); } + private: - arm_gemm::GemmCommon<TypeInput, TypeOutput>* _kernel; + arm_gemm::GemmCommon<TypeInput, TypeOutput> *_kernel; + std::string _kernel_name_tag; }; - } // namespace arm_compute #endif /* __ARM_COMPUTE_ASSEMBLY_GEMM_KERNEL_WRAPPER_KERNEL_H__ */ |