@@ -9,22 +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
+ - 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
26
35
- target : DYNAMIC_ARCH
27
- triple : loongarch64-unknown- linux-gnu
36
+ triple : loongarch64-linux-gnu
28
37
opts : NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=GENERIC
29
38
30
39
steps :
33
42
34
43
- name : Install APT deps
35
44
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
63
48
64
49
- name : Compilation cache
65
50
uses : actions/cache@v3
@@ -80,54 +65,55 @@ jobs:
80
65
- name : Disable utest dsdot:dsdot_n_1
81
66
run : |
82
67
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,"
84
69
echo "the utest dsdot:dsdot_n_1 have been temporarily disabled."
85
70
86
71
- 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)
88
75
89
76
- name : Test
90
77
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
114
100
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
119
105
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
124
110
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
129
115
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