diff options
author | Teresa Charlin <teresa.charlinreyes@arm.com> | 2022-10-19 08:48:07 +0100 |
---|---|---|
committer | TeresaARM <teresa.charlinreyes@arm.com> | 2023-01-09 15:09:46 +0000 |
commit | 94916a5c06065bca0b232106bd4ae68f9986b7b0 (patch) | |
tree | 1510f0e09f48305ce3a2c32e7adfddcc2da7b39a /src/backends/cl/ClLayerSupport.cpp | |
parent | c998108fbd4c134286b481768a873c54ae744a70 (diff) | |
download | armnn-94916a5c06065bca0b232106bd4ae68f9986b7b0.tar.gz |
IVGCVSW-6493 Add GpuAcc Batch MatMul workload Fp32
* GpuAcc only supports up to 3D, so no 4D test have been added
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ie926cd45c350be624cbdc6cb27c89d2d3f60884b
Diffstat (limited to 'src/backends/cl/ClLayerSupport.cpp')
-rw-r--r-- | src/backends/cl/ClLayerSupport.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/backends/cl/ClLayerSupport.cpp b/src/backends/cl/ClLayerSupport.cpp index a61a5bb640..cb2d756037 100644 --- a/src/backends/cl/ClLayerSupport.cpp +++ b/src/backends/cl/ClLayerSupport.cpp @@ -22,6 +22,7 @@ #include "workloads/ClAdditionWorkload.hpp" #include "workloads/ClActivationWorkload.hpp" #include "workloads/ClArgMinMaxWorkload.hpp" +#include "workloads/ClBatchMatMulWorkload.hpp" #include "workloads/ClBatchNormalizationFloatWorkload.hpp" #include "workloads/ClBatchToSpaceNdWorkload.hpp" #include "workloads/ClCastWorkload.hpp" @@ -201,6 +202,12 @@ bool ClLayerSupport::IsLayerSupported(const LayerType& type, infos[1], *(PolymorphicDowncast<const ArgMinMaxDescriptor*>(&descriptor)), reasonIfUnsupported); + case LayerType::BatchMatMul: + return IsBatchMatMulSupported(infos[0], + infos[1], + infos[2], + *(PolymorphicDowncast<const BatchMatMulDescriptor*>(&descriptor)), + reasonIfUnsupported); case LayerType::BatchNormalization: return IsBatchNormalizationSupported(infos[0], infos[1], @@ -640,6 +647,20 @@ bool ClLayerSupport::IsArgMinMaxSupported(const TensorInfo& input, descriptor); } +bool ClLayerSupport::IsBatchMatMulSupported(const TensorInfo& inputX, + const TensorInfo& inputY, + const TensorInfo& output, + const BatchMatMulDescriptor& descriptor, + Optional<std::string&> reasonIfUnsupported) const +{ + FORWARD_WORKLOAD_VALIDATE_FUNC(ClBatchMatMulValidate, + reasonIfUnsupported, + inputX, + inputY, + output, + descriptor); +} + bool ClLayerSupport::IsBatchNormalizationSupported(const TensorInfo& input, const TensorInfo& output, const TensorInfo& mean, |