Skip to content

Commit c9d1a3b

Browse files
authored
Merge pull request #4954 from XiWeiGu/la64_update_gh_actions
gh-actions: Test LoongArch64 with gcc14 from Ubuntu 24.04
2 parents 24b5cca + 8f59538 commit c9d1a3b

File tree

1 file changed

+53
-76
lines changed

1 file changed

+53
-76
lines changed

.github/workflows/loongarch64.yml

Lines changed: 53 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -9,31 +9,31 @@ concurrency:
99
jobs:
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:
@@ -42,33 +42,9 @@ jobs:
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

Comments
 (0)