diff options
author | Teresa Charlin <teresa.charlinreyes@arm.com> | 2021-10-26 12:22:20 +0100 |
---|---|---|
committer | TeresaARM <teresa.charlinreyes@arm.com> | 2021-10-27 09:32:39 +0000 |
commit | 615ad6cde5a56d8f38e1b9261621b40671a00ed7 (patch) | |
tree | 2604a9e5711c864d1e8009a11ed4bff90c2d86fb /src/backends/cl/ClLayerSupport.cpp | |
parent | ec5f7d13582d1e477dc3473223b503388092a352 (diff) | |
download | armnn-615ad6cde5a56d8f38e1b9261621b40671a00ed7.tar.gz |
IVGCVSW-6169 Add GpuAcc Conv3d Workload
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I8b73dccc14ef71cc083896102e24afb2e56e72e2
Diffstat (limited to 'src/backends/cl/ClLayerSupport.cpp')
-rw-r--r-- | src/backends/cl/ClLayerSupport.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/backends/cl/ClLayerSupport.cpp b/src/backends/cl/ClLayerSupport.cpp index 9a50f4aabd..afcaf566a9 100644 --- a/src/backends/cl/ClLayerSupport.cpp +++ b/src/backends/cl/ClLayerSupport.cpp @@ -32,6 +32,7 @@ #include "workloads/ClConvertFp16ToFp32Workload.hpp" #include "workloads/ClConvertFp32ToFp16Workload.hpp" #include "workloads/ClConvolution2dWorkload.hpp" +#include "workloads/ClConvolution3dWorkload.hpp" #include "workloads/ClDepthToSpaceWorkload.hpp" #include "workloads/ClDepthwiseConvolutionWorkload.hpp" #include "workloads/ClDequantizeWorkload.hpp" @@ -385,6 +386,39 @@ bool ClLayerSupport::IsConvolution2dSupported(const TensorInfo& input, nullptr); } +bool ClLayerSupport::IsConvolution3dSupported(const TensorInfo& input, + const TensorInfo& output, + const Convolution3dDescriptor& descriptor, + const TensorInfo& weights, + const Optional<TensorInfo>& biases, + Optional<std::string&> reasonIfUnsupported) const +{ + bool isFastMathEnabled = false; +#if defined(ARMCOMPUTECL_ENABLED) + if (m_ModelContextPtr) +{ + if (m_ModelContextPtr.get() != nullptr) + { + auto modelOptions = dynamic_cast<ClBackendModelContext*>(m_ModelContextPtr.get()); + if (modelOptions) + { + isFastMathEnabled = modelOptions->IsFastMathEnabled(); + } + } +} +#endif + + FORWARD_WORKLOAD_VALIDATE_FUNC(ClConvolution3dWorkloadValidate, + reasonIfUnsupported, + input, + output, + descriptor, + weights, + biases, + isFastMathEnabled, + nullptr); +} + bool ClLayerSupport::IsDequantizeSupported(const TensorInfo& input, const TensorInfo& output, Optional<std::string&> reasonIfUnsupported) const |