From 6c64a1f1a777c9830b8378e39bcc24bae03fb8d1 Mon Sep 17 00:00:00 2001 From: Jens Elofsson Date: Tue, 14 Jan 2025 16:31:53 +0100 Subject: [PATCH 1/3] Remove designated initializers in testcase Remove designated initializers in matmul_clamp_f32_qai8dxp_qsi4c32p_test Signed-off-by: Jens Elofsson --- ...matmul_clamp_f32_qai8dxp_qsi4c32p_test.cpp | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/test/tests/matmul_clamp_f32_qai8dxp_qsi4c32p_test.cpp b/test/tests/matmul_clamp_f32_qai8dxp_qsi4c32p_test.cpp index 28540f0d..5df10901 100644 --- a/test/tests/matmul_clamp_f32_qai8dxp_qsi4c32p_test.cpp +++ b/test/tests/matmul_clamp_f32_qai8dxp_qsi4c32p_test.cpp @@ -235,8 +235,11 @@ TEST_P(MatMulTest_f32_qmatmul_clamp_f32_qai8dxp_qsi4c32p, EndToEnd_RHS_nxk) { size_t bias_offset = rhs_start_row * sizeof(float); size_t scale_offset = rhs_start_row * ref_rhs_scales_stride; - constexpr kai_rhs_pack_nxk_qsi4c32p_qsu4c32s1s0_params params{ - .lhs_zero_point = 1, .rhs_zero_point = 8, .scale_dt = kai_datatype::kai_dt_bf16}; + kai_rhs_pack_nxk_qsi4c32p_qsu4c32s1s0_params params; + params.lhs_zero_point = 1; + params.rhs_zero_point = 8; + params.scale_dt = kai_datatype::kai_dt_bf16; + kai_run_rhs_pack_nxk_qsi4c32p_qsu4c32s1s0( 1, rect.width() /* n */, K, nr, kr, sr, bl, ref_rhs_qsu4_padded.data() + rhs_offset, ref_rhs_qsu4_stride, reinterpret_cast(ref_biases.data() + bias_offset), @@ -376,8 +379,12 @@ TEST_P(MatMulTest_f32_qmatmul_clamp_f32_qai8dxp_qsi4c32p, EndToEnd_RHS_kxn) { const auto imp_packed_rhs_size = kai_get_rhs_packed_size_rhs_pack_kxn_qsi4c32p_qsu4c32s1s0(N, K, nr, kr, sr, bl, scale_dt); std::vector imp_packed_rhs(imp_packed_rhs_size); - constexpr kai_rhs_pack_kxn_qsi4c32p_qsu4c32s1s0_params params{ - .lhs_zero_point = 1, .rhs_zero_point = 8, .scale_dt = kai_datatype::kai_dt_bf16}; + + kai_rhs_pack_kxn_qsi4c32p_qsu4c32s1s0_params params; + params.lhs_zero_point = 1; + params.rhs_zero_point = 8; + params.scale_dt = kai_datatype::kai_dt_bf16; + kai_run_rhs_pack_kxn_qsi4c32p_qsu4c32s1s0( 1, rect.width() /* n */, K, nr, kr, sr, bl, ref_rhs_qsu4_padded.data() + rhs_offset, ref_rhs_qsu4_stride, reinterpret_cast(ref_biases.data() + bias_offset), ref_rhs_scales.data() + scale_offset, @@ -425,10 +432,10 @@ INSTANTIATE_TEST_SUITE_P( MatMulShape{1, 25, 64}), testing::Values(32, 64), testing::Values( - MatrixPortion(0, 0, 1, 1), // Full matrix. - MatrixPortion(0, 0, 1, 0.25), // Leftmost portion. - MatrixPortion(0, 0.75, 1, 1), // Rightmost portion. - MatrixPortion(0, 0.5, 1, 0.8) // Somewhere Middle + MatrixPortion(0, 0, 1, 1), // Full matrix. + MatrixPortion(0, 0, 1, 0.25f), // Leftmost portion. + MatrixPortion(0, 0.75f, 1, 1), // Rightmost portion. + MatrixPortion(0, 0.5f, 1, 0.8f) // Somewhere Middle )), [](const auto& info) { const auto variant_idx = std::get<0>(info.param); -- GitLab From 4ba578d78cf6e73a4d403a8e814b908c156cd977 Mon Sep 17 00:00:00 2001 From: Jens Elofsson Date: Wed, 29 Jan 2025 15:46:25 +0100 Subject: [PATCH 2/3] Enable matmul_clamp_f32_qai8dxp_qsi4c32p testcase for all builds Signed-off-by: Jens Elofsson --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1d85bc8c..0c1dcf86 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -309,6 +309,7 @@ if(KLEIDIAI_BUILD_TESTS) add_executable(kleidiai_test test/tests/bfloat16_test.cpp test/tests/float16_test.cpp + test/tests/matmul_clamp_f32_qai8dxp_qsi4c32p_test.cpp ) else() add_executable(kleidiai_test -- GitLab From fb0b294e7dddf39cf7079c5a5a513f08e9e8bab7 Mon Sep 17 00:00:00 2001 From: Jens Elofsson Date: Thu, 6 Feb 2025 10:35:44 +0100 Subject: [PATCH 3/3] Address review comments - Zero initialize param structs Signed-off-by: Jens Elofsson --- test/tests/matmul_clamp_f32_qai8dxp_qsi4c32p_test.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/tests/matmul_clamp_f32_qai8dxp_qsi4c32p_test.cpp b/test/tests/matmul_clamp_f32_qai8dxp_qsi4c32p_test.cpp index 5df10901..3d867e94 100644 --- a/test/tests/matmul_clamp_f32_qai8dxp_qsi4c32p_test.cpp +++ b/test/tests/matmul_clamp_f32_qai8dxp_qsi4c32p_test.cpp @@ -235,7 +235,7 @@ TEST_P(MatMulTest_f32_qmatmul_clamp_f32_qai8dxp_qsi4c32p, EndToEnd_RHS_nxk) { size_t bias_offset = rhs_start_row * sizeof(float); size_t scale_offset = rhs_start_row * ref_rhs_scales_stride; - kai_rhs_pack_nxk_qsi4c32p_qsu4c32s1s0_params params; + kai_rhs_pack_nxk_qsi4c32p_qsu4c32s1s0_params params{}; params.lhs_zero_point = 1; params.rhs_zero_point = 8; params.scale_dt = kai_datatype::kai_dt_bf16; @@ -380,7 +380,7 @@ TEST_P(MatMulTest_f32_qmatmul_clamp_f32_qai8dxp_qsi4c32p, EndToEnd_RHS_kxn) { kai_get_rhs_packed_size_rhs_pack_kxn_qsi4c32p_qsu4c32s1s0(N, K, nr, kr, sr, bl, scale_dt); std::vector imp_packed_rhs(imp_packed_rhs_size); - kai_rhs_pack_kxn_qsi4c32p_qsu4c32s1s0_params params; + kai_rhs_pack_kxn_qsi4c32p_qsu4c32s1s0_params params{}; params.lhs_zero_point = 1; params.rhs_zero_point = 8; params.scale_dt = kai_datatype::kai_dt_bf16; -- GitLab