From a1b1e41bb261f5613f443fed7071936a360686ed Mon Sep 17 00:00:00 2001 From: Mohammed Suhail Munshi Date: Thu, 23 Mar 2023 22:21:31 +0000 Subject: Implement MatMul Function and Operator with Floating Point support for CPU - Implements MatMul function and operator for floating point datatype FP16/FP32 - Includes support for transposing dynamic tensors prior to matrix multiplication. - Adds tests for 2D/3D/4D+ tensors in MatMul with F32/F16 datatype (with all combinations of transposed/not-transposed tensors) - Updates fixture to allow for testing fused activation in MatMul - Adds tests for matmul with and without fused activation Resolved: [COMPMID-5898] Signed-off-by: Mohammed Suhail Munshi Change-Id: Iefa84b26dd723c9a51e6c3f91023152c6c31ace2 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/9411 Reviewed-by: SiCong Li Tested-by: Arm Jenkins Benchmark: Arm Jenkins --- src/BUILD.bazel | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/BUILD.bazel') diff --git a/src/BUILD.bazel b/src/BUILD.bazel index 279c52e151..26acc14a68 100644 --- a/src/BUILD.bazel +++ b/src/BUILD.bazel @@ -765,10 +765,10 @@ filegroup( "cpu/kernels/instancenorm/generic/neon/impl.cpp", "cpu/kernels/internal/CpuDepthwiseConv2dAssemblyWrapperKernel.cpp", "cpu/kernels/internal/CpuPool2dAssemblyWrapperKernel.cpp", - "cpu/kernels/lut/generic/neon/u8.cpp", "cpu/kernels/l2normlayer/generic/neon/fp16.cpp", "cpu/kernels/l2normlayer/generic/neon/fp32.cpp", "cpu/kernels/l2normlayer/generic/neon/impl.cpp", + "cpu/kernels/lut/generic/neon/u8.cpp", "cpu/kernels/maxunpool/generic/neon/fp16.cpp", "cpu/kernels/maxunpool/generic/neon/fp32.cpp", "cpu/kernels/maxunpool/generic/neon/impl.cpp", @@ -837,6 +837,7 @@ filegroup( "cpu/operators/CpuGemmDirectConv2d.cpp", "cpu/operators/CpuGemmLowpMatrixMultiplyCore.cpp", "cpu/operators/CpuGemmLowpOutputStage.cpp", + "cpu/operators/CpuMatMul.cpp", "cpu/operators/CpuMaxUnpooling.cpp", "cpu/operators/CpuMul.cpp", "cpu/operators/CpuPermute.cpp", @@ -921,6 +922,7 @@ filegroup( "runtime/NEON/functions/NELSTMLayer.cpp", "runtime/NEON/functions/NELSTMLayerQuantized.cpp", "runtime/NEON/functions/NELogical.cpp", + "runtime/NEON/functions/NEMatMul.cpp", "runtime/NEON/functions/NEMaxUnpoolingLayer.cpp", "runtime/NEON/functions/NEMeanStdDevNormalizationLayer.cpp", "runtime/NEON/functions/NENormalizationLayer.cpp", -- cgit v1.2.1