aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/runtime/GLES_COMPUTE/functions/GCGEMM.h
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2018-06-05 14:56:06 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:53:09 +0000
commit72219330fd85b1271e714d4ba894d6d8e26340c9 (patch)
tree9ae0510087a1ca77b1695252a8621de3f2ab98af /arm_compute/runtime/GLES_COMPUTE/functions/GCGEMM.h
parentc42f28d45e9b990276d54880d2cee9c9ee675a41 (diff)
downloadComputeLibrary-72219330fd85b1271e714d4ba894d6d8e26340c9.tar.gz
COMPMID-1145: (API) Introduce prepare() stage (NEON/CL/GLES)
Change-Id: I5b46764f9c3154ec3e3b9c951cc9e6dfbcb81dfb Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/134255 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Pablo Tello <pablo.tello@arm.com> Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com>
Diffstat (limited to 'arm_compute/runtime/GLES_COMPUTE/functions/GCGEMM.h')
-rw-r--r--arm_compute/runtime/GLES_COMPUTE/functions/GCGEMM.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/arm_compute/runtime/GLES_COMPUTE/functions/GCGEMM.h b/arm_compute/runtime/GLES_COMPUTE/functions/GCGEMM.h
index a1d6c8a438..2db254527f 100644
--- a/arm_compute/runtime/GLES_COMPUTE/functions/GCGEMM.h
+++ b/arm_compute/runtime/GLES_COMPUTE/functions/GCGEMM.h
@@ -50,7 +50,14 @@ class GCGEMM : public IFunction
public:
/** Default constructor. */
GCGEMM(std::shared_ptr<IMemoryManager> memory_manager = nullptr);
-
+ /** Prevent instances of this class from being copied (As this class contains pointers) */
+ GCGEMM(const GCGEMM &) = delete;
+ /** Default move constructor */
+ GCGEMM(GCGEMM &&) = default;
+ /** Prevent instances of this class from being copied (As this class contains pointers) */
+ GCGEMM &operator=(const GCGEMM &) = delete;
+ /** Default move assignment operator */
+ GCGEMM &operator=(GCGEMM &&) = default;
/** Initialise the kernel's inputs and output
*
* @note GEMM: General Matrix Multiply - [alpha * A * B + beta * C].
@@ -86,6 +93,7 @@ public:
// Inherited methods overridden:
void run() override;
+ void prepare() override;
private:
GCMemoryGroup _memory_group;
@@ -95,10 +103,11 @@ private:
GCGEMMMatrixAdditionKernel _ma_kernel;
GCTensor _tmp_a;
GCTensor _tmp_b;
+ const IGCTensor *_original_b;
bool _is_interleaved_transposed;
bool _run_addition;
- bool _is_first_run;
bool _reshape_b_only_on_first_run;
+ bool _is_prepared;
};
}