aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/workloads/RefBatchMatMulWorkload.hpp
diff options
context:
space:
mode:
authorSamuel Yap <samuel.yap@arm.com>2022-07-06 15:36:03 +0100
committerNikhil Raj <nikhil.raj@arm.com>2022-07-27 15:58:31 +0100
commit6b47809e7d6c55d20a05d863ce2f09159f381f85 (patch)
treec33e5820f89e359c80d8773288e8adb075735039 /src/backends/reference/workloads/RefBatchMatMulWorkload.hpp
parent919ec71ea7f44bb2d284eb88cda511c2424358b2 (diff)
downloadarmnn-6b47809e7d6c55d20a05d863ce2f09159f381f85.tar.gz
IVGCVSW-7109: Add Batch MatMul front end support - Reference
* Descriptors added for BatchMatMul * Layer definition added * Input validation added (will likely change when opt. param support comes in) * Ref workload implementation for BatchMatMul added (will also change with opt. param support) * Ref layer tests made for BatchMatMul * CMake and other build files updated Signed-off-by: Samuel Yap <samuel.yap@arm.com> Change-Id: Ic885301da543ee0fbe7922b85e7f9658c4efc617
Diffstat (limited to 'src/backends/reference/workloads/RefBatchMatMulWorkload.hpp')
-rw-r--r--src/backends/reference/workloads/RefBatchMatMulWorkload.hpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/backends/reference/workloads/RefBatchMatMulWorkload.hpp b/src/backends/reference/workloads/RefBatchMatMulWorkload.hpp
new file mode 100644
index 0000000000..e9dfcaef73
--- /dev/null
+++ b/src/backends/reference/workloads/RefBatchMatMulWorkload.hpp
@@ -0,0 +1,30 @@
+//
+// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include "RefBaseWorkload.hpp"
+#include <armnn/backends/WorkloadData.hpp>
+
+#include "BatchMatMulImpl.hpp"
+
+namespace armnn
+{
+
+class RefBatchMatMulWorkload : public RefBaseWorkload<BatchMatMulQueueDescriptor>
+{
+public:
+ explicit RefBatchMatMulWorkload(const BatchMatMulQueueDescriptor& descriptor,
+ const WorkloadInfo& info);
+
+ void Execute() const override;
+ void ExecuteAsync(ExecutionData& executionData) override;
+
+private:
+ void Execute(std::vector<ITensorHandle*> inputs, std::vector<ITensorHandle*> outputs) const;
+
+};
+
+} // namespace armnn \ No newline at end of file