aboutsummaryrefslogtreecommitdiff
path: root/tests/datasets
diff options
context:
space:
mode:
authorGunes Bayir <gunes.bayir@arm.com>2023-03-20 10:19:10 +0000
committerGunes Bayir <gunes.bayir@arm.com>2023-03-24 11:35:03 +0000
commitbbeef721c285d467d003a739a1e68b2c86899750 (patch)
treeb298e2df7eacfa50ce3824a400c8c1ac82c5ebe9 /tests/datasets
parent20cfa45faefbf56f62c8b1aa95dfd0b4f52e5641 (diff)
downloadComputeLibrary-bbeef721c285d467d003a739a1e68b2c86899750.tar.gz
Add Texture Pipe Support for Matmul Lhs T/NT Rhs NT kernels
Resolves: COMPMID-5945, COMPMID-5954 Change-Id: I7b27021d21f8e08c4896f6b1f595a75125064f9e Signed-off-by: Gunes Bayir <gunes.bayir@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/9356 Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Reviewed-by: SiCong Li <sicong.li@arm.com> Reviewed-by: Viet-Hoa Do <viet-hoa.do@arm.com> Benchmark: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'tests/datasets')
-rw-r--r--tests/datasets/LargeMatMulDataset.h12
-rw-r--r--tests/datasets/SmallMatMulDataset.h16
2 files changed, 28 insertions, 0 deletions
diff --git a/tests/datasets/LargeMatMulDataset.h b/tests/datasets/LargeMatMulDataset.h
index cbc97d5e4a..b5181bc30b 100644
--- a/tests/datasets/LargeMatMulDataset.h
+++ b/tests/datasets/LargeMatMulDataset.h
@@ -54,6 +54,18 @@ public:
}
};
+class LargeMatMulDatasetRhsExportToCLImageRhsNT final : public MatMulDataset
+{
+public:
+ // For shape choices, please refer to the explanations given in SmallMatMulDatasetRhsExportToCLImageRhsNT
+ LargeMatMulDatasetRhsExportToCLImageRhsNT()
+ {
+ add_config(TensorShape(21U, 13U, 3U, 2U), TensorShape(32U, 21U, 3U, 2U), TensorShape(32U, 13U, 3U, 2U));
+ add_config(TensorShape(38U, 12U, 1U, 5U, 2U), TensorShape(20U, 38U, 1U, 5U, 2U), TensorShape(20U, 12U, 1U, 5U, 2U));
+ add_config(TensorShape(45U, 38U, 3U, 2U, 3U), TensorShape(20U, 45U, 3U, 2U, 3U), TensorShape(20U, 38U, 3U, 2U, 3U));
+ }
+};
+
} // namespace datasets
} // namespace test
} // namespace arm_compute
diff --git a/tests/datasets/SmallMatMulDataset.h b/tests/datasets/SmallMatMulDataset.h
index ae92b9abf5..93e5f7dc2c 100644
--- a/tests/datasets/SmallMatMulDataset.h
+++ b/tests/datasets/SmallMatMulDataset.h
@@ -57,6 +57,22 @@ public:
}
};
+class SmallMatMulDatasetRhsExportToCLImageRhsNT final : public MatMulDataset
+{
+public:
+ // Some considerations:
+ // (1) N (Dimension 0 of Rhs matrix) dimension should be a multiple of 4
+ // (2) Having N=20 enables us to test all possible N0 values, i.e. 4, 8, 16
+ // (3) It's important to have more than one loop iterations in the K dimension
+ // K has been chosen in accordance with K0
+ // (4) The 5-th dimension has been chosen as non-unit because export_to_cl_iamge checks
+ // were using dim1 * dim2 * dim3 to calculate the CLImage height; however, in our case
+ // the tensor can be > 4D. To stress that case, the fifth dimension is chosen to be non-unit as well
+ SmallMatMulDatasetRhsExportToCLImageRhsNT()
+ {
+ add_config(TensorShape(7U, 3U, 2U, 1U, 2U), TensorShape(20U, 7U, 2U, 1U, 2U), TensorShape(20U, 3U, 2U, 1U, 2U));
+ }
+};
} // namespace datasets
} // namespace test
} // namespace arm_compute