@@ -9,31 +9,31 @@ concurrency:
9
9
jobs :
10
10
TEST :
11
11
if : " github.repository == 'OpenMathLib/OpenBLAS'"
12
- runs-on : ubuntu-latest
12
+ runs-on : ubuntu-24.04
13
13
strategy :
14
14
fail-fast : false
15
15
matrix :
16
16
include :
17
17
- target : LOONGSONGENERIC
18
- triple : loongarch64-unknown- linux-gnu
18
+ triple : loongarch64-linux-gnu
19
19
opts : NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LOONGSONGENERIC
20
20
- target : LOONGSON3R5
21
- triple : loongarch64-unknown- linux-gnu
21
+ triple : loongarch64-linux-gnu
22
22
opts : NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LOONGSON3R5
23
23
- target : LOONGSON2K1000
24
- triple : loongarch64-unknown- linux-gnu
24
+ triple : loongarch64-linux-gnu
25
25
opts : NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LOONGSON2K1000
26
26
- target : LA64_GENERIC
27
- triple : loongarch64-unknown- linux-gnu
27
+ triple : loongarch64-linux-gnu
28
28
opts : NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LA64_GENERIC
29
29
- target : LA464
30
- triple : loongarch64-unknown- linux-gnu
30
+ triple : loongarch64-linux-gnu
31
31
opts : NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LA464
32
32
- target : LA264
33
- triple : loongarch64-unknown- linux-gnu
33
+ triple : loongarch64-linux-gnu
34
34
opts : NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LA264
35
35
- target : DYNAMIC_ARCH
36
- triple : loongarch64-unknown- linux-gnu
36
+ triple : loongarch64-linux-gnu
37
37
opts : NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=GENERIC
38
38
39
39
steps :
42
42
43
43
- name : Install APT deps
44
44
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
72
48
73
49
- name : Compilation cache
74
50
uses : actions/cache@v3
@@ -89,54 +65,55 @@ jobs:
89
65
- name : Disable utest dsdot:dsdot_n_1
90
66
run : |
91
67
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,"
93
69
echo "the utest dsdot:dsdot_n_1 have been temporarily disabled."
94
70
95
71
- 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)
97
75
98
76
- name : Test
99
77
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
123
100
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
128
105
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
133
110
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
138
115
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