From 67620b598236f6e154bf536863ec2336c0e59cf1 Mon Sep 17 00:00:00 2001 From: Viet-Hoa Do Date: Thu, 20 Jun 2024 10:38:50 +0100 Subject: [PATCH 1/2] Add examples to CI * Add building and testing the examples to the CI. * Fix compilation error. Signed-off-by: Viet-Hoa Do --- .gitlab-ci.yml | 30 +++++++++++++++++++ .../CMakeLists.txt | 3 ++ 2 files changed, 33 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b7658016..5261417c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -59,6 +59,19 @@ build-gcc: - cmake -G Ninja -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -DKLEIDIAI_BUILD_TESTS=ON -S . -B build/ - cmake --build ./build +build-examples-clang-cov: + extends: + - .standard-rules + interruptible: true + stage: build + script: + - cmake -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -DKLEIDIAI_BUILD_TESTS=ON -DCMAKE_C_FLAGS="--coverage" -DCMAKE_CXX_FLAGS="--coverage" -S ./examples/matmul_clamp_f32_qai8dxp_qsi4cxp -B build/examples/matmul_clamp_f32_qai8dxp_qsi4cxp + - cmake --build ./build/examples/matmul_clamp_f32_qai8dxp_qsi4cxp + artifacts: + expire_in: 1 day + paths: + - "build" + clang-tidy-checks: extends: - .standard-rules @@ -188,6 +201,22 @@ test-linux-aarch64-cov-fvp: paths: - "build/coverage/linux-aarch64-fvp.json" +test-examples-linux-aarch64-cov: + extends: + - .standard-rules + interruptible: true + stage: test + dependencies: + - build-examples-clang-cov + script: + - ./build/examples/matmul_clamp_f32_qai8dxp_qsi4cxp/matmul_clamp_f32_qai8dxp_qsi4cxp + - mkdir -p build/coverage + - gcovr --gcov-executable="llvm-cov gcov" --exclude-unreachable-branches --exclude=build --exclude=test --exclude-lines-by-pattern=".*KAI_(?:ASSERT|ASSUME|ERROR).*" --exclude-branches-by-pattern=".*KAI_(?:ASSERT|ASSUME).*" --json=build/coverage/examples-matmul_clamp_f32_qai8dxp_qsi4cxp-linux-aarch64.json -j --root . build/examples/matmul_clamp_f32_qai8dxp_qsi4cxp + artifacts: + expire_in: 1 day + paths: + - "build/coverage/*.json" + coverage: extends: - .standard-rules @@ -196,6 +225,7 @@ coverage: dependencies: - test-linux-aarch64-cov - test-linux-aarch64-cov-fvp + - test-examples-linux-aarch64-cov script: - mkdir -p build/html/coverage - gcovr --json-add-tracefile "build/coverage/*.json" --print-summary --cobertura=build/coverage.xml --html-details=build/html/coverage/coverage_report.html --html-title="KleidiAI Coverage Report" -j diff --git a/examples/matmul_clamp_f32_qai8dxp_qsi4cxp/CMakeLists.txt b/examples/matmul_clamp_f32_qai8dxp_qsi4cxp/CMakeLists.txt index 50e74161..1bdb901f 100644 --- a/examples/matmul_clamp_f32_qai8dxp_qsi4cxp/CMakeLists.txt +++ b/examples/matmul_clamp_f32_qai8dxp_qsi4cxp/CMakeLists.txt @@ -29,3 +29,6 @@ add_executable(matmul_clamp_f32_qai8dxp_qsi4cxp ${MATMUL_PATH}/kai_matmul_clamp_f32_qai8dxp4x8_qsi4cxp8x8_4x8x32_neon_i8mm.c ${MATMUL_PATH}/kai_matmul_clamp_f32_qai8dxp4x8_qsi4cxp8x8_8x8x32_neon_i8mm.c) +target_compile_options(matmul_clamp_f32_qai8dxp_qsi4cxp + PRIVATE -march=armv8.2-a+dotprod+i8mm +) -- GitLab From cc18550f75d201ee7441fbb59abec1bf4a17435d Mon Sep 17 00:00:00 2001 From: Viet-Hoa Do Date: Thu, 20 Jun 2024 10:43:11 +0100 Subject: [PATCH 2/2] Remove unnecessary build option Signed-off-by: Viet-Hoa Do --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5261417c..ce92bc43 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -65,7 +65,7 @@ build-examples-clang-cov: interruptible: true stage: build script: - - cmake -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -DKLEIDIAI_BUILD_TESTS=ON -DCMAKE_C_FLAGS="--coverage" -DCMAKE_CXX_FLAGS="--coverage" -S ./examples/matmul_clamp_f32_qai8dxp_qsi4cxp -B build/examples/matmul_clamp_f32_qai8dxp_qsi4cxp + - cmake -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS="--coverage" -DCMAKE_CXX_FLAGS="--coverage" -S ./examples/matmul_clamp_f32_qai8dxp_qsi4cxp -B build/examples/matmul_clamp_f32_qai8dxp_qsi4cxp - cmake --build ./build/examples/matmul_clamp_f32_qai8dxp_qsi4cxp artifacts: expire_in: 1 day -- GitLab