From 87c0cd28dcda0262052b10941f10adbd0e402b5d Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Tue, 14 Oct 2025 22:46:16 +0200 Subject: [PATCH 01/24] install qemu-user package directly --- .github/workflows/riscv64_vector.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index d83d786c66..bb12e50c07 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -40,7 +40,7 @@ jobs: run: | sudo apt-get update sudo apt-get install autoconf automake autotools-dev ninja-build make \ - libgomp1-riscv64-cross ccache qemu-kvm + libgomp1-riscv64-cross ccache qemu-kvm qemu-user wget ${riscv_gnu_toolchain}/${riscv_gnu_toolchain_nightly_download_path} tar -xvf $(basename ${riscv_gnu_toolchain_nightly_download_path}) -C /opt From 466314f4a6ee9e33da4576381480990b9319cfa3 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Tue, 14 Oct 2025 23:04:42 +0200 Subject: [PATCH 02/24] add riscv64 elf loader&libraries package --- .github/workflows/riscv64_vector.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index bb12e50c07..65d285911b 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -40,7 +40,7 @@ jobs: run: | sudo apt-get update sudo apt-get install autoconf automake autotools-dev ninja-build make \ - libgomp1-riscv64-cross ccache qemu-kvm qemu-user + libgomp1-riscv64-cross ccache qemu-kvm qemu-user libc6-riscv64-cross wget ${riscv_gnu_toolchain}/${riscv_gnu_toolchain_nightly_download_path} tar -xvf $(basename ${riscv_gnu_toolchain_nightly_download_path}) -C /opt From 08109f3ffe5b6bc389a3fc9c745160363f4bb9e2 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Tue, 14 Oct 2025 23:28:16 +0200 Subject: [PATCH 03/24] add library and loader paths --- .github/workflows/riscv64_vector.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index 65d285911b..04b0f43a27 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -98,6 +98,8 @@ jobs: shell: bash run: | export PATH="/opt/riscv/bin:$PATH" + export LD_LIBRARY_PATH=/opt/riscv/sysroot/lib + ln -s /opt/riscv/sysroot/lib/ld-linux-riscv64-lp64d.so.1 /lib export QEMU_CPU=${{ matrix.qemu_cpu }} rm -rf ./test_out mkdir -p ./test_out From 822a7f3d586324c0697f58056af168bebf1bcee6 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Wed, 15 Oct 2025 00:27:24 +0200 Subject: [PATCH 04/24] Update riscv64_vector.yml --- .github/workflows/riscv64_vector.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index 04b0f43a27..4e70dcd95f 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -99,7 +99,7 @@ jobs: run: | export PATH="/opt/riscv/bin:$PATH" export LD_LIBRARY_PATH=/opt/riscv/sysroot/lib - ln -s /opt/riscv/sysroot/lib/ld-linux-riscv64-lp64d.so.1 /lib + sudo ln -s /opt/riscv/sysroot/lib/ld-linux-riscv64-lp64d.so.1 /lib export QEMU_CPU=${{ matrix.qemu_cpu }} rm -rf ./test_out mkdir -p ./test_out From ec03b83529813cfc2beb4c46bb5c41a14bbc9400 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Fri, 17 Oct 2025 23:28:37 +0200 Subject: [PATCH 05/24] add sbgemm/shgemm test for zvl256b target --- .github/workflows/riscv64_vector.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index 4e70dcd95f..429a110310 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -136,6 +136,11 @@ jobs: wait while IFS= read -r -d $'\0' LOG; do cat $LOG ; FAILURES=1 ; done < <(grep -lZ FAIL ./test_out/*) if [[ ! -z $FAILURES ]]; then echo "==========" ; echo "== FAIL ==" ; echo "==========" ; echo ; exit 1 ; fi + if [ "${{matrix.target}}" == "RISCV64_ZVL256B" ]; then + run_test test test_sbgemm & + run_test test test_shgemm + fi + - name: netlib tests shell: bash From c1878de39062fc15d55f4a8a2e7bc7cf2765989a Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sat, 18 Oct 2025 11:51:17 +0200 Subject: [PATCH 06/24] Enable relevant b/hfloat extensions in qemu cpu string --- .github/workflows/riscv64_vector.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index 429a110310..0da5b63bf4 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -27,7 +27,7 @@ jobs: qemu_cpu: rv64,g=true,c=true,v=true,vext_spec=v1.0,vlen=128,elen=64 - target: RISCV64_ZVL256B opts: TARGET=RISCV64_ZVL256B BINARY=64 ARCH=riscv64 BUILD_BFLOAT16=1 BUILD_HFLOAT16=1 - qemu_cpu: rv64,g=true,c=true,v=true,vext_spec=v1.0,vlen=256,elen=64 + qemu_cpu: rv64,g=true,c=true,v=true,vext_spec=v1.0,vlen=256,elen=64,zfh=true,zvfh=true,zvfbfwma=true - target: DYNAMIC_ARCH=1 opts: TARGET=RISCV64_GENERIC BINARY=64 ARCH=riscv64 DYNAMIC_ARCH=1 qemu_cpu: rv64,g=true,c=true,v=true,vext_spec=v1.0,vlen=256,elen=64 From 1ef1100be3b271201f05869d884f836dd0f6629f Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sat, 18 Oct 2025 21:52:17 +0200 Subject: [PATCH 07/24] comment out the sh/sb options and tests as they require a newer qemu --- .github/workflows/riscv64_vector.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index 0da5b63bf4..f0733e6ee4 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -27,7 +27,8 @@ jobs: qemu_cpu: rv64,g=true,c=true,v=true,vext_spec=v1.0,vlen=128,elen=64 - target: RISCV64_ZVL256B opts: TARGET=RISCV64_ZVL256B BINARY=64 ARCH=riscv64 BUILD_BFLOAT16=1 BUILD_HFLOAT16=1 - qemu_cpu: rv64,g=true,c=true,v=true,vext_spec=v1.0,vlen=256,elen=64,zfh=true,zvfh=true,zvfbfwma=true + qemu_cpu: rv64,g=true,c=true,v=true,vext_spec=v1.0,vlen=256,elen=64 + #,zfh=true,zvfh=true,zvfbfwma=true - target: DYNAMIC_ARCH=1 opts: TARGET=RISCV64_GENERIC BINARY=64 ARCH=riscv64 DYNAMIC_ARCH=1 qemu_cpu: rv64,g=true,c=true,v=true,vext_spec=v1.0,vlen=256,elen=64 @@ -136,10 +137,10 @@ jobs: wait while IFS= read -r -d $'\0' LOG; do cat $LOG ; FAILURES=1 ; done < <(grep -lZ FAIL ./test_out/*) if [[ ! -z $FAILURES ]]; then echo "==========" ; echo "== FAIL ==" ; echo "==========" ; echo ; exit 1 ; fi - if [ "${{matrix.target}}" == "RISCV64_ZVL256B" ]; then - run_test test test_sbgemm & - run_test test test_shgemm - fi + #if [ "${{matrix.target}}" == "RISCV64_ZVL256B" ]; then + #run_test test test_sbgemm & + #run_test test test_shgemm + #fi - name: netlib tests From c26e22321bb0dbc74493f809f2c317edec01d46e Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sun, 19 Oct 2025 19:43:06 +0200 Subject: [PATCH 08/24] add local build of qemu-10.1.1 --- .github/workflows/riscv64_vector.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index f0733e6ee4..f3de39b644 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -27,8 +27,7 @@ jobs: qemu_cpu: rv64,g=true,c=true,v=true,vext_spec=v1.0,vlen=128,elen=64 - target: RISCV64_ZVL256B opts: TARGET=RISCV64_ZVL256B BINARY=64 ARCH=riscv64 BUILD_BFLOAT16=1 BUILD_HFLOAT16=1 - qemu_cpu: rv64,g=true,c=true,v=true,vext_spec=v1.0,vlen=256,elen=64 - #,zfh=true,zvfh=true,zvfbfwma=true + qemu_cpu: rv64,g=true,c=true,v=true,vext_spec=v1.0,vlen=256,elen=64,zfh=true,zvfh=true,zvfbfwma=true - target: DYNAMIC_ARCH=1 opts: TARGET=RISCV64_GENERIC BINARY=64 ARCH=riscv64 DYNAMIC_ARCH=1 qemu_cpu: rv64,g=true,c=true,v=true,vext_spec=v1.0,vlen=256,elen=64 @@ -44,7 +43,9 @@ jobs: libgomp1-riscv64-cross ccache qemu-kvm qemu-user libc6-riscv64-cross wget ${riscv_gnu_toolchain}/${riscv_gnu_toolchain_nightly_download_path} tar -xvf $(basename ${riscv_gnu_toolchain_nightly_download_path}) -C /opt - + wget https://gist.github.com/martin-frbg/bb630e0de34978e578eeb496b1538d4e#file-qemu-riscv64-10-1-ubuntu24 -C /opt/riscv/bin + chmod +x /opt/riscv/bin/qemu-riscv64 + - name: Compilation cache uses: actions/cache@v3 with: @@ -137,10 +138,10 @@ jobs: wait while IFS= read -r -d $'\0' LOG; do cat $LOG ; FAILURES=1 ; done < <(grep -lZ FAIL ./test_out/*) if [[ ! -z $FAILURES ]]; then echo "==========" ; echo "== FAIL ==" ; echo "==========" ; echo ; exit 1 ; fi - #if [ "${{matrix.target}}" == "RISCV64_ZVL256B" ]; then - #run_test test test_sbgemm & - #run_test test test_shgemm - #fi + if [ "${{matrix.target}}" == "RISCV64_ZVL256B" ]; then + run_test test test_sbgemm & + run_test test test_shgemm + fi - name: netlib tests From 0a79085cf653359caf9b02692fabb0e494fa5ea2 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sun, 19 Oct 2025 20:04:53 +0200 Subject: [PATCH 09/24] typo fix --- .github/workflows/riscv64_vector.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index f3de39b644..4d48e24657 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -43,7 +43,7 @@ jobs: libgomp1-riscv64-cross ccache qemu-kvm qemu-user libc6-riscv64-cross wget ${riscv_gnu_toolchain}/${riscv_gnu_toolchain_nightly_download_path} tar -xvf $(basename ${riscv_gnu_toolchain_nightly_download_path}) -C /opt - wget https://gist.github.com/martin-frbg/bb630e0de34978e578eeb496b1538d4e#file-qemu-riscv64-10-1-ubuntu24 -C /opt/riscv/bin + wget https://gist.github.com/martin-frbg/bb630e0de34978e578eeb496b1538d4e#file-qemu-riscv64-10-1-ubuntu24 -P /opt/riscv/bin chmod +x /opt/riscv/bin/qemu-riscv64 - name: Compilation cache From 928e4e9acec65c78b7e9cbc10a3693f730e5cff8 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sun, 19 Oct 2025 21:48:43 +0200 Subject: [PATCH 10/24] Update riscv64_vector.yml --- .github/workflows/riscv64_vector.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index 4d48e24657..aa897e56ec 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -43,7 +43,7 @@ jobs: libgomp1-riscv64-cross ccache qemu-kvm qemu-user libc6-riscv64-cross wget ${riscv_gnu_toolchain}/${riscv_gnu_toolchain_nightly_download_path} tar -xvf $(basename ${riscv_gnu_toolchain_nightly_download_path}) -C /opt - wget https://gist.github.com/martin-frbg/bb630e0de34978e578eeb496b1538d4e#file-qemu-riscv64-10-1-ubuntu24 -P /opt/riscv/bin + wget https://gist.github.com/martin-frbg/bb630e0de34978e578eeb496b1538d4e#file-qemu-riscv64-10-1-ubuntu24 -P /opt/riscv/bin -o riscv64-qemu chmod +x /opt/riscv/bin/qemu-riscv64 - name: Compilation cache From 211f1edd64c23b9a904d3d619afc4f76b897c199 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sun, 19 Oct 2025 23:02:59 +0200 Subject: [PATCH 11/24] Update riscv64_vector.yml --- .github/workflows/riscv64_vector.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index aa897e56ec..321c82bc5e 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -43,7 +43,7 @@ jobs: libgomp1-riscv64-cross ccache qemu-kvm qemu-user libc6-riscv64-cross wget ${riscv_gnu_toolchain}/${riscv_gnu_toolchain_nightly_download_path} tar -xvf $(basename ${riscv_gnu_toolchain_nightly_download_path}) -C /opt - wget https://gist.github.com/martin-frbg/bb630e0de34978e578eeb496b1538d4e#file-qemu-riscv64-10-1-ubuntu24 -P /opt/riscv/bin -o riscv64-qemu + wget https://gist.github.com/martin-frbg/bb630e0de34978e578eeb496b1538d4e -P /opt/riscv/bin -o riscv64-qemu chmod +x /opt/riscv/bin/qemu-riscv64 - name: Compilation cache From f305d25fbe7780d48954db821660c597fcfc6577 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sun, 19 Oct 2025 23:11:05 +0200 Subject: [PATCH 12/24] fix gist link to qemu --- .github/workflows/riscv64_vector.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index 321c82bc5e..1eae0c6b5d 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -43,7 +43,7 @@ jobs: libgomp1-riscv64-cross ccache qemu-kvm qemu-user libc6-riscv64-cross wget ${riscv_gnu_toolchain}/${riscv_gnu_toolchain_nightly_download_path} tar -xvf $(basename ${riscv_gnu_toolchain_nightly_download_path}) -C /opt - wget https://gist.github.com/martin-frbg/bb630e0de34978e578eeb496b1538d4e -P /opt/riscv/bin -o riscv64-qemu + wget https://gist.github.com/martin-frbg/bb630e0de34978e578eeb496b1538d4e/raw/7fd8d971f327f7a517b8f5f7989479ff2b36f71f/qemu-riscv64-10.1-ubuntu24 -P /opt/riscv/bin -o riscv64-qemu chmod +x /opt/riscv/bin/qemu-riscv64 - name: Compilation cache From aaf53294bed08e6f6376b9c2dcd3fba785feaa69 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Mon, 20 Oct 2025 09:04:47 +0200 Subject: [PATCH 13/24] Update riscv64_vector.yml --- .github/workflows/riscv64_vector.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index 1eae0c6b5d..864bfbeb1a 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -44,6 +44,7 @@ jobs: wget ${riscv_gnu_toolchain}/${riscv_gnu_toolchain_nightly_download_path} tar -xvf $(basename ${riscv_gnu_toolchain_nightly_download_path}) -C /opt wget https://gist.github.com/martin-frbg/bb630e0de34978e578eeb496b1538d4e/raw/7fd8d971f327f7a517b8f5f7989479ff2b36f71f/qemu-riscv64-10.1-ubuntu24 -P /opt/riscv/bin -o riscv64-qemu + mv /opt/riscv/bin/bb630e0de34978e578eeb496b1538d4e /opt/riscv/bin/qemu-riscv64 chmod +x /opt/riscv/bin/qemu-riscv64 - name: Compilation cache From d2ec4e0522435f87ea6719c2bad161448db31308 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Mon, 20 Oct 2025 09:47:53 +0200 Subject: [PATCH 14/24] Update riscv64_vector.yml --- .github/workflows/riscv64_vector.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index 864bfbeb1a..4dc5f4b9a8 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -44,6 +44,7 @@ jobs: wget ${riscv_gnu_toolchain}/${riscv_gnu_toolchain_nightly_download_path} tar -xvf $(basename ${riscv_gnu_toolchain_nightly_download_path}) -C /opt wget https://gist.github.com/martin-frbg/bb630e0de34978e578eeb496b1538d4e/raw/7fd8d971f327f7a517b8f5f7989479ff2b36f71f/qemu-riscv64-10.1-ubuntu24 -P /opt/riscv/bin -o riscv64-qemu + ls -latr /opt/riscv/bin mv /opt/riscv/bin/bb630e0de34978e578eeb496b1538d4e /opt/riscv/bin/qemu-riscv64 chmod +x /opt/riscv/bin/qemu-riscv64 From 99196a6dc29d4f9a9e241ab39298a7d355ecd71c Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Mon, 20 Oct 2025 10:13:13 +0200 Subject: [PATCH 15/24] Update riscv64_vector.yml --- .github/workflows/riscv64_vector.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index 4dc5f4b9a8..699d204d80 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -44,8 +44,7 @@ jobs: wget ${riscv_gnu_toolchain}/${riscv_gnu_toolchain_nightly_download_path} tar -xvf $(basename ${riscv_gnu_toolchain_nightly_download_path}) -C /opt wget https://gist.github.com/martin-frbg/bb630e0de34978e578eeb496b1538d4e/raw/7fd8d971f327f7a517b8f5f7989479ff2b36f71f/qemu-riscv64-10.1-ubuntu24 -P /opt/riscv/bin -o riscv64-qemu - ls -latr /opt/riscv/bin - mv /opt/riscv/bin/bb630e0de34978e578eeb496b1538d4e /opt/riscv/bin/qemu-riscv64 + mv /opt/riscv/bin/qemu-riscv64-10.1-ubuntu24 /opt/riscv/bin/qemu-riscv64 chmod +x /opt/riscv/bin/qemu-riscv64 - name: Compilation cache From 18da9c306556c6574abea39e09c87b27b9a4ce95 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Mon, 20 Oct 2025 23:18:44 +0200 Subject: [PATCH 16/24] Update riscv64_vector.yml --- .github/workflows/riscv64_vector.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index 699d204d80..17e03719a9 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -140,7 +140,6 @@ jobs: while IFS= read -r -d $'\0' LOG; do cat $LOG ; FAILURES=1 ; done < <(grep -lZ FAIL ./test_out/*) if [[ ! -z $FAILURES ]]; then echo "==========" ; echo "== FAIL ==" ; echo "==========" ; echo ; exit 1 ; fi if [ "${{matrix.target}}" == "RISCV64_ZVL256B" ]; then - run_test test test_sbgemm & run_test test test_shgemm fi From db84577e5e62c1a60be106eecf0d222a08253775 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Tue, 21 Oct 2025 14:58:38 +0200 Subject: [PATCH 17/24] Update riscv64_vector.yml --- .github/workflows/riscv64_vector.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index 17e03719a9..48a249a331 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -139,9 +139,8 @@ jobs: wait while IFS= read -r -d $'\0' LOG; do cat $LOG ; FAILURES=1 ; done < <(grep -lZ FAIL ./test_out/*) if [[ ! -z $FAILURES ]]; then echo "==========" ; echo "== FAIL ==" ; echo "==========" ; echo ; exit 1 ; fi - if [ "${{matrix.target}}" == "RISCV64_ZVL256B" ]; then - run_test test test_shgemm - fi + if [ "${{matrix.target}}" == "RISCV64_ZVL256B" ]; then run_test test test_shgemm; fi + if [ "${{matrix.target}}" == "RISCV64_ZVL256B" ]; then run_test test test_shgemv; fi - name: netlib tests From 8c234ce63a7d2c8b1a15bb3fd25107e8295f232e Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Thu, 23 Oct 2025 20:20:28 +0200 Subject: [PATCH 18/24] Update riscv64_vector.yml --- .github/workflows/riscv64_vector.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index 48a249a331..ee6aa7090a 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -77,7 +77,7 @@ jobs: run: | export PATH="/opt/riscv/bin:$PATH" make TARGET=${{ matrix.target }} CFLAGS="-DTARGET=${{ matrix.target }}" \ - CC='${triple}-gcc' \ + CC='ccache clang --rtlib=compiler-rt -target ${triple} --sysroot /opt/riscv/sysroot --gcc-toolchain=/opt/riscv/lib/gcc/riscv64-unknown-linux-gnu/${riscv_gnu_toolchain_version}/' \ AR='ccache ${triple}-ar' AS='ccache ${triple}-gcc' LD='ccache ${triple}-gcc' \ RANLIB='ccache ${triple}-ranlib' \ FC='ccache ${triple}-gfortran' ${{ matrix.opts }} \ @@ -139,8 +139,13 @@ jobs: wait while IFS= read -r -d $'\0' LOG; do cat $LOG ; FAILURES=1 ; done < <(grep -lZ FAIL ./test_out/*) if [[ ! -z $FAILURES ]]; then echo "==========" ; echo "== FAIL ==" ; echo "==========" ; echo ; exit 1 ; fi - if [ "${{matrix.target}}" == "RISCV64_ZVL256B" ]; then run_test test test_shgemm; fi - if [ "${{matrix.target}}" == "RISCV64_ZVL256B" ]; then run_test test test_shgemv; fi + if [ "${{matrix.target}}" == "RISCV64_ZVL256B" ]; then + run_test test test_shgemm & + run_test test test_shgemv & + run_test test test_sbgemm & + run_test test test_bgemm & + run_test test test_sbgemv + fi - name: netlib tests From d5d0ce9e76c40b905de43ca31bb2cfe69f3ce997 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Fri, 24 Oct 2025 15:35:47 +0200 Subject: [PATCH 19/24] fix gcc version --- .github/workflows/riscv64_vector.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index ee6aa7090a..8e895794d3 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -16,7 +16,7 @@ jobs: env: triple: riscv64-unknown-linux-gnu riscv_gnu_toolchain: https://github.com/riscv-collab/riscv-gnu-toolchain - riscv_gnu_toolchain_version: 13.2.0 + riscv_gnu_toolchain_version: 15.1.0 riscv_gnu_toolchain_nightly_download_path: /releases/download/2025.08.29/riscv64-glibc-ubuntu-22.04-llvm-nightly-2025.08.29-nightly.tar.xz strategy: fail-fast: false From 294bbf38b8561bafafb98edf6f0e4fcb5986f854 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sun, 2 Nov 2025 22:46:10 +0100 Subject: [PATCH 20/24] remove sbgemm/gemv tests for now --- .github/workflows/riscv64_vector.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index 8e895794d3..8dca31002b 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -142,9 +142,7 @@ jobs: if [ "${{matrix.target}}" == "RISCV64_ZVL256B" ]; then run_test test test_shgemm & run_test test test_shgemv & - run_test test test_sbgemm & - run_test test test_bgemm & - run_test test test_sbgemv + run_test test test_bgemm fi From 43e51143c1cc7137be0bc51bbaf4dde8e4233f4e Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Mon, 3 Nov 2025 15:09:50 +0100 Subject: [PATCH 21/24] remove bgemm test as well --- .github/workflows/riscv64_vector.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index 8dca31002b..de9b94ada1 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -141,8 +141,7 @@ jobs: if [[ ! -z $FAILURES ]]; then echo "==========" ; echo "== FAIL ==" ; echo "==========" ; echo ; exit 1 ; fi if [ "${{matrix.target}}" == "RISCV64_ZVL256B" ]; then run_test test test_shgemm & - run_test test test_shgemv & - run_test test test_bgemm + run_test test test_shgemv fi From 6ba3c4b86ee857546e0f095fdf3efb9a2cad30df Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Mon, 3 Nov 2025 15:56:13 +0100 Subject: [PATCH 22/24] Update riscv64_vector.yml --- .github/workflows/riscv64_vector.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index de9b94ada1..e1769f8cd3 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -140,8 +140,10 @@ jobs: while IFS= read -r -d $'\0' LOG; do cat $LOG ; FAILURES=1 ; done < <(grep -lZ FAIL ./test_out/*) if [[ ! -z $FAILURES ]]; then echo "==========" ; echo "== FAIL ==" ; echo "==========" ; echo ; exit 1 ; fi if [ "${{matrix.target}}" == "RISCV64_ZVL256B" ]; then - run_test test test_shgemm & - run_test test test_shgemv + test/test_shgemm & + test/test_shgemv & + test/test_bgemm & + test/test_sbgemv fi From f88681f944c2c915abfc853b4ebfe37e05e1ed20 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Mon, 3 Nov 2025 17:03:57 +0100 Subject: [PATCH 23/24] Update riscv64_vector.yml --- .github/workflows/riscv64_vector.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index e1769f8cd3..a216c6db63 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -140,10 +140,10 @@ jobs: while IFS= read -r -d $'\0' LOG; do cat $LOG ; FAILURES=1 ; done < <(grep -lZ FAIL ./test_out/*) if [[ ! -z $FAILURES ]]; then echo "==========" ; echo "== FAIL ==" ; echo "==========" ; echo ; exit 1 ; fi if [ "${{matrix.target}}" == "RISCV64_ZVL256B" ]; then - test/test_shgemm & - test/test_shgemv & - test/test_bgemm & - test/test_sbgemv + qemu-riscv64 test/test_shgemm & + qemu-riscv64 test/test_shgemv & + qemu-riscv64 test/test_bgemm & + qemu-riscv64 test/test_sbgemv fi From b9c3ec1c0338add93f41144e35a1699cc4515d57 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Mon, 3 Nov 2025 22:25:38 +0100 Subject: [PATCH 24/24] remove the failing sbgemv test again --- .github/workflows/riscv64_vector.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/riscv64_vector.yml b/.github/workflows/riscv64_vector.yml index a216c6db63..1849a23fb5 100644 --- a/.github/workflows/riscv64_vector.yml +++ b/.github/workflows/riscv64_vector.yml @@ -142,8 +142,7 @@ jobs: if [ "${{matrix.target}}" == "RISCV64_ZVL256B" ]; then qemu-riscv64 test/test_shgemm & qemu-riscv64 test/test_shgemv & - qemu-riscv64 test/test_bgemm & - qemu-riscv64 test/test_sbgemv + qemu-riscv64 test/test_bgemm fi