@@ -9,22 +9,31 @@ concurrency:
99jobs :
1010 TEST :
1111 if : " github.repository == 'OpenMathLib/OpenBLAS'"
12- runs-on : ubuntu-latest
12+ runs-on : ubuntu-24.04
1313 strategy :
1414 fail-fast : false
1515 matrix :
1616 include :
1717 - target : LOONGSONGENERIC
18- triple : loongarch64-unknown- linux-gnu
18+ triple : loongarch64-linux-gnu
1919 opts : NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LOONGSONGENERIC
2020 - target : LOONGSON3R5
21- triple : loongarch64-unknown- linux-gnu
21+ triple : loongarch64-linux-gnu
2222 opts : NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LOONGSON3R5
2323 - target : LOONGSON2K1000
24- triple : loongarch64-unknown- linux-gnu
24+ triple : loongarch64-linux-gnu
2525 opts : NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LOONGSON2K1000
26+ - target : LA64_GENERIC
27+ triple : loongarch64-linux-gnu
28+ opts : NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LA64_GENERIC
29+ - target : LA464
30+ triple : loongarch64-linux-gnu
31+ opts : NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LA464
32+ - target : LA264
33+ triple : loongarch64-linux-gnu
34+ opts : NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LA264
2635 - target : DYNAMIC_ARCH
27- triple : loongarch64-unknown- linux-gnu
36+ triple : loongarch64-linux-gnu
2837 opts : NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=GENERIC
2938
3039 steps :
3342
3443 - name : Install APT deps
3544 run : |
36- sudo apt-get update
37- sudo apt-get install autoconf automake autotools-dev ninja-build make ccache
38-
39- - name : Download and install loongarch64-toolchain
40- run : |
41- wget https://github.com/sunhaiyong1978/CLFS-for-LoongArch/releases/download/8.1/CLFS-loongarch64-8.1-x86_64-cross-tools-gcc-glibc.tar.xz
42- #wget https://github.com/loongson/build-tools/releases/download/2023.08.08/CLFS-loongarch64-8.1-x86_64-cross-tools-gcc-glibc.tar.xz
43- tar -xf CLFS-loongarch64-8.1-x86_64-cross-tools-gcc-glibc.tar.xz -C /opt
44-
45- - name : Checkout qemu
46- uses : actions/checkout@v3
47- with :
48- repository : qemu/qemu
49- path : qemu
50- ref : master
51-
52- - name : Install qemu
53- run : |
54- cd qemu
55- ./configure --prefix=$GITHUB_WORKSPACE/qemu-install --target-list=loongarch64-linux-user --disable-system --static
56- make -j$(nproc)
57- make install
58-
59- - name : Set env
60- run : |
61- echo "LD_LIBRARY_PATH=/opt/cross-tools/target/usr/lib64:/opt/cross-tools/loongarch64-unknown-linux-gnu/lib64:$LD_LIBRARY_PATH" >> $GITHUB_ENV
62- echo "PATH=$GITHUB_WORKSPACE:/opt/cross-tools/bin:$PATH" >> $GITHUB_ENV
45+ sudo apt-get update && \
46+ sudo apt-get install autoconf automake autotools-dev ninja-build make ccache qemu-user-static \
47+ gcc-14-loongarch64-linux-gnu g++-14-loongarch64-linux-gnu gfortran-14-loongarch64-linux-gnu
6348
6449 - name : Compilation cache
6550 uses : actions/cache@v3
@@ -80,54 +65,55 @@ jobs:
8065 - name : Disable utest dsdot:dsdot_n_1
8166 run : |
8267 echo -n > utest/test_dsdot.c
83- echo "Due to the qemu versions 7.2 causing utest cases to fail,"
68+ echo "Due to the current version of qemu causing utest cases to fail,"
8469 echo "the utest dsdot:dsdot_n_1 have been temporarily disabled."
8570
8671 - name : Build OpenBLAS
87- run : make CC='ccache ${{ matrix.triple }}-gcc -static' FC='ccache ${{ matrix.triple }}-gfortran -static' ${{ matrix.opts }} HOSTCC='ccache gcc' -j$(nproc)
72+ run : |
73+ make CC='ccache ${{ matrix.triple }}-gcc-14 -static' FC='ccache ${{ matrix.triple }}-gfortran-14 -static' \
74+ RANLIB='ccache ${{ matrix.triple }}-gcc-ranlib-14' ${{ matrix.opts }} HOSTCC='ccache gcc' -j$(nproc)
8875
8976 - name : Test
9077 run : |
91- export PATH=$GITHUB_WORKSPACE/qemu-install/bin/:$PATH
92- qemu-loongarch64 ./utest/openblas_utest
93- qemu-loongarch64 ./utest/openblas_utest_ext
94- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xscblat1
95- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xdcblat1
96- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xccblat1
97- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xzcblat1
98- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xscblat2 < ./ctest/sin2
99- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xdcblat2 < ./ctest/din2
100- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xccblat2 < ./ctest/cin2
101- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xzcblat2 < ./ctest/zin2
102- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xscblat3 < ./ctest/sin3
103- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xdcblat3 < ./ctest/din3
104- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xccblat3 < ./ctest/cin3
105- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xzcblat3 < ./ctest/zin3
106- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/sblat1
107- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/dblat1
108- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/cblat1
109- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/zblat1
110- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/sblat1
111- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/dblat1
112- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/cblat1
113- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/zblat1
78+ qemu-loongarch64-static ./utest/openblas_utest
79+ qemu-loongarch64-static ./utest/openblas_utest_ext
80+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./ctest/xscblat1
81+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./ctest/xdcblat1
82+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./ctest/xccblat1
83+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./ctest/xzcblat1
84+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./ctest/xscblat2 < ./ctest/sin2
85+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./ctest/xdcblat2 < ./ctest/din2
86+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./ctest/xccblat2 < ./ctest/cin2
87+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./ctest/xzcblat2 < ./ctest/zin2
88+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./ctest/xscblat3 < ./ctest/sin3
89+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./ctest/xdcblat3 < ./ctest/din3
90+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./ctest/xccblat3 < ./ctest/cin3
91+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./ctest/xzcblat3 < ./ctest/zin3
92+ OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64-static ./test/sblat1
93+ OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64-static ./test/dblat1
94+ OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64-static ./test/cblat1
95+ OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64-static ./test/zblat1
96+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./test/sblat1
97+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./test/dblat1
98+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./test/cblat1
99+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./test/zblat1
114100 rm -f ./test/?BLAT2.SUMM
115- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/sblat2 < ./test/sblat2.dat
116- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/dblat2 < ./test/dblat2.dat
117- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/cblat2 < ./test/cblat2.dat
118- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/zblat2 < ./test/zblat2.dat
101+ OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64-static ./test/sblat2 < ./test/sblat2.dat
102+ OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64-static ./test/dblat2 < ./test/dblat2.dat
103+ OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64-static ./test/cblat2 < ./test/cblat2.dat
104+ OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64-static ./test/zblat2 < ./test/zblat2.dat
119105 rm -f ./test/?BLAT2.SUMM
120- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/sblat2 < ./test/sblat2.dat
121- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/dblat2 < ./test/dblat2.dat
122- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/cblat2 < ./test/cblat2.dat
123- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/zblat2 < ./test/zblat2.dat
106+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./test/sblat2 < ./test/sblat2.dat
107+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./test/dblat2 < ./test/dblat2.dat
108+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./test/cblat2 < ./test/cblat2.dat
109+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./test/zblat2 < ./test/zblat2.dat
124110 rm -f ./test/?BLAT3.SUMM
125- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/sblat3 < ./test/sblat3.dat
126- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/dblat3 < ./test/dblat3.dat
127- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/cblat3 < ./test/cblat3.dat
128- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/zblat3 < ./test/zblat3.dat
111+ OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64-static ./test/sblat3 < ./test/sblat3.dat
112+ OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64-static ./test/dblat3 < ./test/dblat3.dat
113+ OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64-static ./test/cblat3 < ./test/cblat3.dat
114+ OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64-static ./test/zblat3 < ./test/zblat3.dat
129115 rm -f ./test/?BLAT3.SUMM
130- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/sblat3 < ./test/sblat3.dat
131- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/dblat3 < ./test/dblat3.dat
132- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/cblat3 < ./test/cblat3.dat
133- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/zblat3 < ./test/zblat3.dat
116+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./test/sblat3 < ./test/sblat3.dat
117+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./test/dblat3 < ./test/dblat3.dat
118+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./test/cblat3 < ./test/cblat3.dat
119+ OPENBLAS_NUM_THREADS=2 qemu-loongarch64-static ./test/zblat3 < ./test/zblat3.dat
0 commit comments