aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon/NeonWorkloadFactory.cpp
diff options
context:
space:
mode:
authorTeresa Charlin <teresa.charlinreyes@arm.com>2021-10-22 17:15:00 +0100
committerTeresaARM <teresa.charlinreyes@arm.com>2021-10-27 09:32:11 +0000
commitec5f7d13582d1e477dc3473223b503388092a352 (patch)
tree37c4d6299f0726a853e28f6297d4eb222cda2c68 /src/backends/neon/NeonWorkloadFactory.cpp
parente1fdd2866b0f403b5e80994890d62c2c038c16c9 (diff)
downloadarmnn-ec5f7d13582d1e477dc3473223b503388092a352.tar.gz
IVGCVSW-6170 Add CpuAcc Conv3d Workload
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I3a5bfef5a0085d172fd3689e67f25af909ace2ee
Diffstat (limited to 'src/backends/neon/NeonWorkloadFactory.cpp')
-rw-r--r--src/backends/neon/NeonWorkloadFactory.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/backends/neon/NeonWorkloadFactory.cpp b/src/backends/neon/NeonWorkloadFactory.cpp
index 605b03d6b7..4c9397b950 100644
--- a/src/backends/neon/NeonWorkloadFactory.cpp
+++ b/src/backends/neon/NeonWorkloadFactory.cpp
@@ -240,6 +240,27 @@ std::unique_ptr<armnn::IWorkload> NeonWorkloadFactory::CreateConvolution2d(
isFastMathEnabled);
}
+std::unique_ptr<armnn::IWorkload> NeonWorkloadFactory::CreateConvolution3d(
+ const Convolution3dQueueDescriptor& descriptor, const WorkloadInfo& info) const
+{
+ 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<NeonConvolution3dWorkload>(descriptor,
+ info,
+ m_MemoryManager->GetIntraLayerManager(),
+ isFastMathEnabled);
+}
+
std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateDebug(const DebugQueueDescriptor& descriptor,
const WorkloadInfo& info) const
{