diff options
author | Michele Di Giorgio <michele.digiorgio@arm.com> | 2021-06-16 11:14:41 +0100 |
---|---|---|
committer | Michele Di Giorgio <michele.digiorgio@arm.com> | 2021-06-25 13:52:38 +0000 |
commit | d7316eb877cc4ff8573219374335e917b19a0203 (patch) | |
tree | 9918f85a12424ccd53ae91f4d7b7701b6e0747a9 /src/runtime/cpu/operators/internal/CpuGemmAssemblyDispatch.h | |
parent | cd060c47c1bad06f2aad8f0f8f94a72c4f75b919 (diff) | |
download | ComputeLibrary-d7316eb877cc4ff8573219374335e917b19a0203.tar.gz |
Port NEGEMMConv2d to memory injecting interface
Resolves: COMPMID-4506, COMPMID-4570
Change-Id: I6d37a06da141f1fcfcaa8525322a319cb0234791
Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5824
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/runtime/cpu/operators/internal/CpuGemmAssemblyDispatch.h')
-rw-r--r-- | src/runtime/cpu/operators/internal/CpuGemmAssemblyDispatch.h | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/src/runtime/cpu/operators/internal/CpuGemmAssemblyDispatch.h b/src/runtime/cpu/operators/internal/CpuGemmAssemblyDispatch.h index ffc097c75c..355273adeb 100644 --- a/src/runtime/cpu/operators/internal/CpuGemmAssemblyDispatch.h +++ b/src/runtime/cpu/operators/internal/CpuGemmAssemblyDispatch.h @@ -24,10 +24,6 @@ #ifndef ARM_COMPUTE_CPU_INTERNAL_CPU_GEMM_ASSEMBLY_DISPATCH_H #define ARM_COMPUTE_CPU_INTERNAL_CPU_GEMM_ASSEMBLY_DISPATCH_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 "src/core/common/Macros.h" #include "src/runtime/cpu/ICpuOperator.h" @@ -62,7 +58,7 @@ class CpuGemmAssemblyDispatch : public ICpuOperator { public: /** Constructor */ - CpuGemmAssemblyDispatch(std::shared_ptr<IMemoryManager> memory_manager = nullptr, IWeightsManager *weights_manager = nullptr); + CpuGemmAssemblyDispatch(); /** Defautl destructor */ ~CpuGemmAssemblyDispatch() = default; @@ -71,10 +67,11 @@ public: class IFallback { public: - virtual void run(ITensorPack &tensors) = 0; - virtual void prepare(ITensorPack &tensors) = 0; - virtual bool is_configured() const = 0; - virtual ~IFallback() = default; + virtual void run(ITensorPack &tensors) = 0; + virtual void prepare(ITensorPack &tensors) = 0; + virtual experimental::MemoryRequirements workspace() const = 0; + virtual bool is_configured() const = 0; + virtual ~IFallback() = default; }; public: @@ -115,11 +112,10 @@ public: // Inherited methods overridden: void prepare(ITensorPack &tensors) override; void run(ITensorPack &tensors) override; + experimental::MemoryRequirements workspace() const override; private: - std::unique_ptr<IFallback> _arm_gemm; /**< Interface for the arm_gemm fallback */ - MemoryGroup _memory_group; /**< Function memory group */ - IWeightsManager *_weights_manager; /**< Pointer to the weights manager */ + std::unique_ptr<IFallback> _arm_gemm; /**< Interface for the arm_gemm fallback */ }; } // namespace cpu } // namespace arm_compute |