From 390879dca827e393862f0fb5ca424c2e1c7f339d Mon Sep 17 00:00:00 2001 From: Aaron Teo Date: Sat, 12 Sep 2026 02:35:59 +0800 Subject: [PATCH 1/2] tests: add non-vxe build to tests Signed-off-by: Aaron Teo ggml-cpu: add unused macro to fix ci Signed-off-by: Aaron Teo Revert "ggml-cpu: temporarily add #28775 patch until its merged" This reverts commit d4645257b6b7e65c47b1b46baec3eb46a3f40968. Signed-off-by: Aaron Teo --- .github/workflows/build-ibm.yml | 10 ++++++++-- ggml/src/ggml-cpu/arch/s390/quants.c | 1 + ggml/src/ggml-cpu/arch/s390/repack.cpp | 2 -- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-ibm.yml b/.github/workflows/build-ibm.yml index d2e4f3cdaeb7..355487e97b8d 100644 --- a/.github/workflows/build-ibm.yml +++ b/.github/workflows/build-ibm.yml @@ -34,10 +34,15 @@ env: LLAMA_ARG_LOG_TIMESTAMPS: 1 jobs: - ubuntu-24-s390x: + name: ubuntu-24-s390x (VXE ${{ matrix.vxe }}) runs-on: ubuntu-24.04-s390x + strategy: + fail-fast: false + matrix: + vxe: ["ON", "OFF"] # `-DGGML_VXE=ON/OFF` + steps: - name: Clone id: checkout @@ -77,7 +82,8 @@ jobs: run: | cmake -B build \ -DLLAMA_FATAL_WARNINGS=ON \ - -DGGML_RPC=ON + -DGGML_RPC=ON \ + -DGGML_VXE=${{ matrix.vxe }} time cmake --build build --config Release -j $(nproc) - name: Test diff --git a/ggml/src/ggml-cpu/arch/s390/quants.c b/ggml/src/ggml-cpu/arch/s390/quants.c index 70f2882d830d..52344828e39d 100644 --- a/ggml/src/ggml-cpu/arch/s390/quants.c +++ b/ggml/src/ggml-cpu/arch/s390/quants.c @@ -417,6 +417,7 @@ void ggml_vec_dot_mxfp4_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const vo sumf = vec_hsum_f32x4(v_acc); *s = sumf; #else + UNUSED(nb); UNUSED(x); UNUSED(y); UNUSED(ib); diff --git a/ggml/src/ggml-cpu/arch/s390/repack.cpp b/ggml/src/ggml-cpu/arch/s390/repack.cpp index abf3433adda2..3990a6b0487e 100644 --- a/ggml/src/ggml-cpu/arch/s390/repack.cpp +++ b/ggml/src/ggml-cpu/arch/s390/repack.cpp @@ -70,7 +70,6 @@ void ggml_quantize_mat_q8_0_4x4(const float * GGML_RESTRICT x, void * GGML_RESTR #endif } -#if defined(__VXE__) || defined(__VXE2__) static inline int16x8_t vxe_dot_acc(const int8x16_t v_x, const int8x16_t v_y, const int16x8_t v_acc) { return vec_meadd(v_x, v_y, vec_moadd(v_x, v_y, v_acc)); } @@ -85,7 +84,6 @@ static inline int32x4_t vxe_fold(const int16x8_t v_sumi) { const int16x8_t v_ones = vec_splats((int16_t)1); return vec_add(vec_mule(v_sumi, v_ones), vec_mulo(v_sumi, v_ones)); } -#endif void ggml_gemv_q4_0_4x4_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc) { const int qk = QK8_0; From 16cb9939a68aa93968f89933e77f1d493c7faa0a Mon Sep 17 00:00:00 2001 From: Aaron Teo Date: Mon, 14 Sep 2026 01:21:59 +0800 Subject: [PATCH 2/2] ggml-cpu: revert back to upstream/master Signed-off-by: Aaron Teo --- ggml/src/ggml-cpu/arch/s390/repack.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ggml/src/ggml-cpu/arch/s390/repack.cpp b/ggml/src/ggml-cpu/arch/s390/repack.cpp index 3990a6b0487e..abf3433adda2 100644 --- a/ggml/src/ggml-cpu/arch/s390/repack.cpp +++ b/ggml/src/ggml-cpu/arch/s390/repack.cpp @@ -70,6 +70,7 @@ void ggml_quantize_mat_q8_0_4x4(const float * GGML_RESTRICT x, void * GGML_RESTR #endif } +#if defined(__VXE__) || defined(__VXE2__) static inline int16x8_t vxe_dot_acc(const int8x16_t v_x, const int8x16_t v_y, const int16x8_t v_acc) { return vec_meadd(v_x, v_y, vec_moadd(v_x, v_y, v_acc)); } @@ -84,6 +85,7 @@ static inline int32x4_t vxe_fold(const int16x8_t v_sumi) { const int16x8_t v_ones = vec_splats((int16_t)1); return vec_add(vec_mule(v_sumi, v_ones), vec_mulo(v_sumi, v_ones)); } +#endif void ggml_gemv_q4_0_4x4_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc) { const int qk = QK8_0;