@@ -9,31 +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
2626 - target : LA64_GENERIC
27- triple : loongarch64-unknown- linux-gnu
27+ triple : loongarch64-linux-gnu
2828 opts : NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LA64_GENERIC
2929 - target : LA464
30- triple : loongarch64-unknown- linux-gnu
30+ triple : loongarch64-linux-gnu
3131 opts : NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LA464
3232 - target : LA264
33- triple : loongarch64-unknown- linux-gnu
33+ triple : loongarch64-linux-gnu
3434 opts : NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LA264
3535 - target : DYNAMIC_ARCH
36- triple : loongarch64-unknown- linux-gnu
36+ triple : loongarch64-linux-gnu
3737 opts : NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=GENERIC
3838
3939 steps :
4242
4343 - name : Install APT deps
4444 run : |
45- sudo apt-get update
46- sudo apt-get install autoconf automake autotools-dev ninja-build make ccache
47-
48- - name : Download and install loongarch64-toolchain
49- run : |
50- wget https://github.com/sunhaiyong1978/CLFS-for-LoongArch/releases/download/8.1/CLFS-loongarch64-8.1-x86_64-cross-tools-gcc-glibc.tar.xz
51- #wget https://github.com/loongson/build-tools/releases/download/2023.08.08/CLFS-loongarch64-8.1-x86_64-cross-tools-gcc-glibc.tar.xz
52- tar -xf CLFS-loongarch64-8.1-x86_64-cross-tools-gcc-glibc.tar.xz -C /opt
53-
54- - name : Checkout qemu
55- uses : actions/checkout@v3
56- with :
57- repository : qemu/qemu
58- path : qemu
59- ref : master
60-
61- - name : Install qemu
62- run : |
63- cd qemu
64- ./configure --prefix=$GITHUB_WORKSPACE/qemu-install --target-list=loongarch64-linux-user --disable-system --static
65- make -j$(nproc)
66- make install
67-
68- - name : Set env
69- run : |
70- echo "LD_LIBRARY_PATH=/opt/cross-tools/target/usr/lib64:/opt/cross-tools/loongarch64-unknown-linux-gnu/lib64:$LD_LIBRARY_PATH" >> $GITHUB_ENV
71- 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
7248
7349 - name : Compilation cache
7450 uses : actions/cache@v3
@@ -89,54 +65,55 @@ jobs:
8965 - name : Disable utest dsdot:dsdot_n_1
9066 run : |
9167 echo -n > utest/test_dsdot.c
92- 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,"
9369 echo "the utest dsdot:dsdot_n_1 have been temporarily disabled."
9470
9571 - name : Build OpenBLAS
96- 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)
9775
9876 - name : Test
9977 run : |
100- export PATH=$GITHUB_WORKSPACE/qemu-install/bin/:$PATH
101- qemu-loongarch64 ./utest/openblas_utest
102- qemu-loongarch64 ./utest/openblas_utest_ext
103- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xscblat1
104- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xdcblat1
105- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xccblat1
106- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xzcblat1
107- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xscblat2 < ./ctest/sin2
108- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xdcblat2 < ./ctest/din2
109- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xccblat2 < ./ctest/cin2
110- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xzcblat2 < ./ctest/zin2
111- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xscblat3 < ./ctest/sin3
112- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xdcblat3 < ./ctest/din3
113- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xccblat3 < ./ctest/cin3
114- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./ctest/xzcblat3 < ./ctest/zin3
115- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/sblat1
116- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/dblat1
117- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/cblat1
118- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/zblat1
119- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/sblat1
120- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/dblat1
121- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/cblat1
122- 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
123100 rm -f ./test/?BLAT2.SUMM
124- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/sblat2 < ./test/sblat2.dat
125- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/dblat2 < ./test/dblat2.dat
126- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/cblat2 < ./test/cblat2.dat
127- 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
128105 rm -f ./test/?BLAT2.SUMM
129- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/sblat2 < ./test/sblat2.dat
130- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/dblat2 < ./test/dblat2.dat
131- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/cblat2 < ./test/cblat2.dat
132- 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
133110 rm -f ./test/?BLAT3.SUMM
134- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/sblat3 < ./test/sblat3.dat
135- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/dblat3 < ./test/dblat3.dat
136- OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 qemu-loongarch64 ./test/cblat3 < ./test/cblat3.dat
137- 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
138115 rm -f ./test/?BLAT3.SUMM
139- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/sblat3 < ./test/sblat3.dat
140- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/dblat3 < ./test/dblat3.dat
141- OPENBLAS_NUM_THREADS=2 qemu-loongarch64 ./test/cblat3 < ./test/cblat3.dat
142- 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