Skip to content

Commit e81fca0

Browse files
authored
Merge pull request #5316 from OpenMathLib/develop
Update from develop for 0.3.30 release
2 parents 8795fc7 + d339bd5 commit e81fca0

File tree

259 files changed

+10940
-7444
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

259 files changed

+10940
-7444
lines changed

.cirrus.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ task:
5858
- export VALID_ARCHS="i386 x86_64"
5959
- xcrun --sdk macosx --show-sdk-path
6060
- xcodebuild -version
61-
- export CC=/Applications/Xcode_15.4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
62-
- export CFLAGS="-O2 -unwindlib=none -Wno-macro-redefined -isysroot /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk -arch x86_64"
61+
- export CC=/Applications/Xcode_16.3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
62+
- export CFLAGS="-O2 -unwindlib=none -Wno-macro-redefined -isysroot /Applications/Xcode_16.3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk -arch x86_64"
6363
- make TARGET=CORE2 DYNAMIC_ARCH=1 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1 RANLIB="ls -l"
6464
always:
6565
config_artifacts:
@@ -78,8 +78,8 @@ task:
7878
- export #PATH=/opt/homebrew/opt/llvm/bin:$PATH
7979
- export #LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
8080
- export #CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
81-
- export CC=/Applications/Xcode_15.4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
82-
- export CFLAGS="-O2 -unwindlib=none -Wno-macro-redefined -isysroot /Applications/Xcode_15.4.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS17.5.sdk -arch arm64 -miphoneos-version-min=10.0"
81+
- export CC=/Applications/Xcode_16.3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
82+
- export CFLAGS="-O2 -unwindlib=none -Wno-macro-redefined -isysroot /Applications/Xcode_16.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.4.sdk -arch arm64 -miphoneos-version-min=10.0"
8383
- xcrun --sdk iphoneos --show-sdk-path
8484
- ls -l /Applications
8585
- make TARGET=ARMV8 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1 CROSS=1
@@ -127,7 +127,7 @@ task:
127127
FreeBSD_task:
128128
name: FreeBSD-gcc
129129
freebsd_instance:
130-
image_family: freebsd-14-1
130+
image_family: freebsd-14-2
131131
install_script:
132132
- pkg update -f && pkg upgrade -y && pkg install -y gmake gcc
133133
compile_script:
@@ -138,7 +138,7 @@ FreeBSD_task:
138138
FreeBSD_task:
139139
name: freebsd-gcc-ilp64
140140
freebsd_instance:
141-
image_family: freebsd-14-1
141+
image_family: freebsd-14-2
142142
install_script:
143143
- pkg update -f && pkg upgrade -y && pkg install -y gmake gcc
144144
compile_script:
@@ -148,7 +148,7 @@ FreeBSD_task:
148148
FreeBSD_task:
149149
name: FreeBSD-clang-openmp
150150
freebsd_instance:
151-
image_family: freebsd-14-1
151+
image_family: freebsd-14-2
152152
install_script:
153153
- pkg update -f && pkg upgrade -y && pkg install -y gmake gcc
154154
- ln -s /usr/local/lib/gcc13/libgfortran.so.5.0.0 /usr/lib/libgfortran.so

.github/workflows/apple_m.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ jobs:
102102
mkdir build && cd build
103103
cmake -DDYNAMIC_ARCH=1 \
104104
-DUSE_OPENMP=${{matrix.openmp}} \
105+
-DOpenMP_Fortran_LIB_NAMES=omp \
105106
-DINTERFACE64=${{matrix.ilp64}} \
106107
-DNOFORTRAN=0 \
107108
-DBUILD_WITHOUT_LAPACK=0 \

.github/workflows/c910v.yml

Lines changed: 41 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,27 +31,28 @@ jobs:
3131

3232
steps:
3333
- name: Checkout repository
34-
uses: actions/checkout@v3
34+
uses: actions/checkout@v4
3535

3636
- name: install build deps
3737
run: |
3838
sudo apt-get update
3939
sudo apt-get install autoconf automake autotools-dev ninja-build make ccache \
40-
gcc-${{ matrix.apt_triple }} gfortran-${{ matrix.apt_triple }} libgomp1-riscv64-cross
40+
gcc-${{ matrix.apt_triple }} gfortran-${{ matrix.apt_triple }} libgomp1-riscv64-cross libglib2.0-dev
4141
4242
- name: checkout qemu
43-
uses: actions/checkout@v3
43+
uses: actions/checkout@v4
4444
with:
45-
repository: T-head-Semi/qemu
45+
repository: XUANTIE-RV/qemu
4646
path: qemu
47-
ref: 1e692ebb43d396c52352406323fc782c1ac99a42
47+
ref: e0ace167effcd36d1f82c7ccb4522b3126011479 # xuantie-qemu-9.0
4848

4949
- name: build qemu
5050
run: |
5151
# Force use c910v qemu-user
52-
wget https://github.com/revyos/qemu/commit/5164bca5a4bcde4534dc1a9aa3a7f619719874cf.patch
52+
wget https://github.com/revyos/qemu/commit/222729c7455784dd855216d7a2bec4bd8f2a6800.patch
5353
cd qemu
54-
patch -p1 < ../5164bca5a4bcde4534dc1a9aa3a7f619719874cf.patch
54+
patch -p1 < ../222729c7455784dd855216d7a2bec4bd8f2a6800.patch
55+
export CXXFLAGS="-Wno-error"; export CFLAGS="-Wno-error"
5556
./configure --prefix=$GITHUB_WORKSPACE/qemu-install --target-list=riscv64-linux-user --disable-system
5657
make -j$(nproc)
5758
make install
@@ -82,9 +83,39 @@ jobs:
8283
8384
- name: test
8485
run: |
85-
export PATH=$GITHUB_WORKSPACE/qemu-install/bin/:$PATH
86-
qemu-riscv64 ./utest/openblas_utest
87-
qemu-riscv64 ./utest/openblas_utest_ext
86+
run_with_retry() {
87+
local cmd="$1"
88+
local time_out=10
89+
local retries=10
90+
local attempt=0
91+
92+
for ((i=1; i<=retries; i++)); do
93+
attempt=$((i))
94+
if timeout -s 12 --preserve-status $time_out $cmd; then
95+
echo "Command succeeded on attempt $i."
96+
return 0
97+
else
98+
local exit_code=$?
99+
if [ $exit_code -eq 140 ]; then
100+
echo "Attempt $i timed out (retrying...)"
101+
time_out=$((time_out + 5))
102+
else
103+
echo "Attempt $i failed with exit code $exit_code. Aborting workflow."
104+
exit $exit_code
105+
fi
106+
fi
107+
done
108+
echo "All $retries attempts failed, giving up."
109+
echo "Final failure was due to timeout."
110+
echo "Aborting workflow."
111+
exit $exit_code
112+
}
113+
export PATH=$GITHUB_WORKSPACE/qemu-install/bin:$PATH
114+
which qemu-riscv64
115+
export QEMU_BIN=$(which qemu-riscv64)
116+
run_with_retry "$QEMU_BIN ./utest/openblas_utest"
117+
run_with_retry "$QEMU_BIN ./utest/openblas_utest_ext"
118+
88119
OPENBLAS_NUM_THREADS=2 qemu-riscv64 ./ctest/xscblat1
89120
OPENBLAS_NUM_THREADS=2 qemu-riscv64 ./ctest/xdcblat1
90121
OPENBLAS_NUM_THREADS=2 qemu-riscv64 ./ctest/xccblat1

.github/workflows/codspeed-bench.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
strategy:
1616
fail-fast: false
1717
matrix:
18-
os: [ubuntu-latest]
18+
os: [ubuntu-22.04]
1919
fortran: [gfortran]
2020
build: [make]
2121
pyver: ["3.12"]
@@ -147,7 +147,7 @@ jobs:
147147
OPENBLAS_NUM_THREADS=1 pytest benchmarks/bench_blas.py -k 'gesdd'
148148
149149
- name: Run benchmarks
150-
uses: CodSpeedHQ/action@v2
150+
uses: CodSpeedHQ/action@v3
151151
with:
152152
token: ${{ secrets.CODSPEED_TOKEN }}
153153
run: |

.github/workflows/dynamic_arch.yml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,9 @@ jobs:
4343
run: |
4444
if [ "$RUNNER_OS" == "Linux" ]; then
4545
sudo apt-get update
46-
sudo apt-get install -y gfortran cmake ccache libtinfo5
46+
sudo apt-get install -y gfortran cmake ccache
47+
wget http://security.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
48+
sudo apt install ./libtinfo5_6.3-2ubuntu0.1_amd64.deb
4749
elif [ "$RUNNER_OS" == "macOS" ]; then
4850
# It looks like "gfortran" isn't working correctly unless "gcc" is re-installed.
4951
brew reinstall gcc
@@ -354,3 +356,23 @@ jobs:
354356
- name: Build OpenBLAS
355357
run: |
356358
make -j$(nproc) HOSTCC="ccache gcc" CC="ccache ${{ matrix.triple }}-gcc" FC="ccache ${{ matrix.triple }}-gfortran" ARCH=${{ matrix.target }} ${{ matrix.opts }}
359+
360+
neoverse_build:
361+
if: "github.repository == 'OpenMathLib/OpenBLAS'"
362+
runs-on: ubuntu-24.04-arm
363+
364+
steps:
365+
- name: Checkout repository
366+
uses: actions/checkout@v3
367+
368+
- name: Install Dependencies
369+
run: |
370+
sudo apt-get update
371+
sudo apt-get install -y gcc gfortran make
372+
373+
- name: Build OpenBLAS
374+
run: |
375+
make -j${nproc}
376+
make -j${nproc} lapack-test
377+
378+

.github/workflows/loongarch64_clang.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
- name: Install APT deps
4242
run: |
4343
sudo apt-get update
44-
sudo apt-get install autoconf automake autotools-dev ninja-build make ccache
44+
sudo apt-get install autoconf automake autotools-dev ninja-build make ccache libglib2.0-dev
4545
4646
- name: Download and install loongarch64-toolchain
4747
run: |

.github/workflows/mips64.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@ jobs:
4141
run: |
4242
sudo apt-get update
4343
sudo apt-get install autoconf automake autotools-dev ninja-build make ccache \
44-
gcc-${{ matrix.triple }} gfortran-${{ matrix.triple }} libgomp1-mips64el-cross
44+
gcc-${{ matrix.triple }} gfortran-${{ matrix.triple }} libgomp1-mips64el-cross libglib2.0-dev
4545
4646
- name: checkout qemu
4747
uses: actions/checkout@v3
4848
with:
4949
repository: qemu/qemu
5050
path: qemu
51-
ref: 79dfa177ae348bb5ab5f97c0915359b13d6186e2
51+
ref: ae35f033b874c627d81d51070187fbf55f0bf1a7
5252

5353
- name: build qemu
5454
run: |

0 commit comments

Comments
 (0)