diff options
author | Teresa Charlin <teresa.charlinreyes@arm.com> | 2022-11-01 15:59:50 +0000 |
---|---|---|
committer | TeresaARM <teresa.charlinreyes@arm.com> | 2023-05-08 13:16:01 +0000 |
commit | 1fe6c8170ae2fe90b53fb71b7570aec9dfe75c45 (patch) | |
tree | bbb846edda64445c1e033b182e5a079c8d5728d8 /src/backends/neon/NeonWorkloadFactory.cpp | |
parent | c52190a7e80cf238ba1d8630e5cc36ec7c7849e2 (diff) | |
download | armnn-1fe6c8170ae2fe90b53fb71b7570aec9dfe75c45.tar.gz |
IVGCVSW-7307 Add CpuAcc Batch MatMul Workload
* Call dedicated MatMul kernel in ACL
* Add int8 tests
* Add int8 to documentation
* Force tensors to be dynamic (nonConst) as per request of ACL
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I992ae9aae1174214607bf29305f21cdeaf3fdc1b
Diffstat (limited to 'src/backends/neon/NeonWorkloadFactory.cpp')
-rw-r--r-- | src/backends/neon/NeonWorkloadFactory.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/backends/neon/NeonWorkloadFactory.cpp b/src/backends/neon/NeonWorkloadFactory.cpp index 08168eca2f..c78b58d21d 100644 --- a/src/backends/neon/NeonWorkloadFactory.cpp +++ b/src/backends/neon/NeonWorkloadFactory.cpp @@ -155,7 +155,19 @@ std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateWorkload(LayerType type, case LayerType::BatchMatMul : { auto batchMatMulQueueDescriptor = PolymorphicDowncast<const BatchMatMulQueueDescriptor*>(&descriptor); - return std::make_unique<NeonBatchMatMulWorkload>(*batchMatMulQueueDescriptor, info); + bool isFastMathEnabled = false; + if (m_ModelContextPtr) + { + if (m_ModelContextPtr.get() != nullptr) + { + auto modelOptions = dynamic_cast<NeonBackendModelContext*>(m_ModelContextPtr.get()); + if (modelOptions) + { + isFastMathEnabled = modelOptions->IsFastMathEnabled(); + } + } + } + return std::make_unique<NeonBatchMatMulWorkload>(*batchMatMulQueueDescriptor, info, isFastMathEnabled); } case LayerType::BatchNormalization : { |