Skip to content

Commit 9207052

Browse files
authored
Merge pull request #5066 from OpenMathLib/develop
Merge changes from develop in preparation of the 0.3.29 release
2 parents 5ef8b19 + 7f5b703 commit 9207052

File tree

226 files changed

+13460
-2233
lines changed

Some content is hidden

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

226 files changed

+13460
-2233
lines changed

.cirrus.yml

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -89,20 +89,13 @@ task:
8989
type: text/plain
9090

9191
macos_instance:
92-
image: ghcr.io/cirruslabs/macos-monterey-xcode:latest
92+
image: ghcr.io/cirruslabs/macos-sonoma-xcode:latest
9393
task:
9494
name: AppleM1/LLVM armv7-androidndk xbuild
9595
compile_script:
96-
- brew install android-ndk
97-
- export #PATH=/opt/homebrew/opt/llvm/bin:$PATH
98-
- export #LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
99-
- export #CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
100-
- ls /System/Volumes/Data/opt/homebrew
101-
- ls -l /System/Volumes/Data/opt/homebrew/Caskroom/android-ndk
102-
- find /System/Volumes/Data/opt/homebrew -name "armv7a-linux-androideabi*-ranlib"
103-
- #export CC=/Applications/Xcode-13.4.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
104-
- #export CFLAGS="-O2 -unwindlib=none -Wno-macro-redefined -isysroot /Applications/Xcode-13.4.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.0.sdk -arch arm64 -miphoneos-version-min=10.0"
105-
- export CC=/System/Volumes/Data/opt/homebrew/Caskroom/android-ndk/26d/AndroidNDK*.app/Contents/NDK/toolchains/llvm/prebuilt/darwin-x86_64/bin/armv7a-linux-androideabi23-clang
96+
- brew install --cask android-ndk
97+
- export ANDROID_NDK_HOME="/opt/homebrew/share/android-ndk"
98+
- export CC=/opt/homebrew/share/android-ndk/toolchains/llvm/prebuilt/darwin-x86_64/bin/armv7a-linux-androideabi23-clang
10699
- make TARGET=ARMV7 ARM_SOFTFP_ABI=1 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1 RANLIB="ls -l"
107100
always:
108101
config_artifacts:
@@ -132,9 +125,9 @@ task:
132125
- make USE_OPENMP=1
133126

134127
FreeBSD_task:
135-
name: FreeBSD-gcc12
128+
name: FreeBSD-gcc
136129
freebsd_instance:
137-
image_family: freebsd-13-3
130+
image_family: freebsd-14-1
138131
install_script:
139132
- pkg update -f && pkg upgrade -y && pkg install -y gmake gcc
140133
compile_script:
@@ -143,9 +136,9 @@ FreeBSD_task:
143136

144137

145138
FreeBSD_task:
146-
name: freebsd-gcc12-ilp64
139+
name: freebsd-gcc-ilp64
147140
freebsd_instance:
148-
image_family: freebsd-13-3
141+
image_family: freebsd-14-1
149142
install_script:
150143
- pkg update -f && pkg upgrade -y && pkg install -y gmake gcc
151144
compile_script:
@@ -155,7 +148,7 @@ FreeBSD_task:
155148
FreeBSD_task:
156149
name: FreeBSD-clang-openmp
157150
freebsd_instance:
158-
image_family: freebsd-13-3
151+
image_family: freebsd-14-1
159152
install_script:
160153
- pkg update -f && pkg upgrade -y && pkg install -y gmake gcc
161154
- ln -s /usr/local/lib/gcc13/libgfortran.so.5.0.0 /usr/lib/libgfortran.so

.github/workflows/docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
python-version: "3.10"
2424

2525
- name: Install MkDocs and doc theme packages
26-
run: pip install mkdocs mkdocs-material mkdocs-git-revision-date-localized-plugin
26+
run: pip install mkdocs mkdocs-material mkdocs-git-revision-date-localized-plugin mkdocs-mermaid2-plugin
2727

2828
- name: Build docs site
2929
run: mkdocs build

.github/workflows/dynamic_arch.yml

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ jobs:
158158
strategy:
159159
fail-fast: false
160160
matrix:
161-
msystem: [UCRT64, MINGW32, CLANG64, CLANG32]
161+
msystem: [UCRT64, MINGW32, CLANG64]
162162
idx: [int32, int64]
163163
build-type: [Release]
164164
include:
@@ -174,14 +174,6 @@ jobs:
174174
idx: int32
175175
target-prefix: mingw-w64-clang-x86_64
176176
fc-pkg: fc
177-
# Compiling with Flang 16 seems to cause test errors on machines
178-
# with AVX512 instructions. Revisit after MSYS2 distributes Flang 17.
179-
no-avx512-flags: -DNO_AVX512=1
180-
- msystem: CLANG32
181-
idx: int32
182-
target-prefix: mingw-w64-clang-i686
183-
fc-pkg: cc
184-
c-lapack-flags: -DC_LAPACK=ON
185177
- msystem: UCRT64
186178
idx: int64
187179
idx64-flags: -DBINARY=64 -DINTERFACE64=1
@@ -192,9 +184,6 @@ jobs:
192184
idx64-flags: -DBINARY=64 -DINTERFACE64=1
193185
target-prefix: mingw-w64-clang-x86_64
194186
fc-pkg: fc
195-
# Compiling with Flang 16 seems to cause test errors on machines
196-
# with AVX512 instructions. Revisit after MSYS2 distributes Flang 17.
197-
no-avx512-flags: -DNO_AVX512=1
198187
- msystem: UCRT64
199188
idx: int32
200189
target-prefix: mingw-w64-ucrt-x86_64
@@ -203,8 +192,6 @@ jobs:
203192
exclude:
204193
- msystem: MINGW32
205194
idx: int64
206-
- msystem: CLANG32
207-
idx: int64
208195

209196
defaults:
210197
run:
@@ -280,8 +267,6 @@ jobs:
280267
-DNUM_THREADS=64 \
281268
-DTARGET=CORE2 \
282269
${{ matrix.idx64-flags }} \
283-
${{ matrix.c-lapack-flags }} \
284-
${{ matrix.no-avx512-flags }} \
285270
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
286271
-DCMAKE_Fortran_COMPILER_LAUNCHER=ccache \
287272
..

.github/workflows/harmonyos.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: harmonyos
2+
3+
on: [push, pull_request]
4+
5+
concurrency:
6+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
7+
cancel-in-progress: true
8+
9+
permissions:
10+
contents: read # to fetch code (actions/checkout)
11+
12+
jobs:
13+
build:
14+
if: "github.repository == 'OpenMathLib/OpenBLAS'"
15+
runs-on: ubuntu-latest
16+
env:
17+
OHOS_NDK_CMAKE: $GITHUB_WORKSPACE/ohos-sdk/linux/native/build-tools/cmake/bin/cmake
18+
COMMON_CMAKE_OPTIONS: |
19+
-DCMAKE_TOOLCHAIN_FILE=$GITHUB_WORKSPACE/ohos-sdk/linux/native/build/cmake/ohos.toolchain.cmake \
20+
-DCMAKE_INSTALL_PREFIX=install \
21+
-DCMAKE_BUILD_TYPE=Release \
22+
steps:
23+
- uses: actions/checkout@v4
24+
- name: ndk-install
25+
run: |
26+
wget https://repo.huaweicloud.com/harmonyos/os/4.1.1-Release/ohos-sdk-windows_linux-public.tar.gz
27+
tar -xf ohos-sdk-windows_linux-public.tar.gz
28+
cd ohos-sdk/linux
29+
unzip -q native-linux-x64-4.1.7.8-Release.zip
30+
cd -
31+
- name: build-armv8
32+
run: |
33+
mkdir build && cd build
34+
${{ env.OHOS_NDK_CMAKE }} ${{ env.COMMON_CMAKE_OPTIONS }} -DOHOS_ARCH="arm64-v8a" \
35+
-DTARGET=ARMV8 -DNOFORTRAN=1 ..
36+
${{ env.OHOS_NDK_CMAKE }} --build . -j $(nproc)
37+

.github/workflows/loongarch64.yml

Lines changed: 59 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +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
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
2635
- target: DYNAMIC_ARCH
27-
triple: loongarch64-unknown-linux-gnu
36+
triple: loongarch64-linux-gnu
2837
opts: NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=GENERIC
2938

3039
steps:
@@ -33,33 +42,9 @@ jobs:
3342

3443
- name: Install APT deps
3544
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
6348
6449
- name: Compilation cache
6550
uses: actions/cache@v3
@@ -80,54 +65,55 @@ jobs:
8065
- name: Disable utest dsdot:dsdot_n_1
8166
run: |
8267
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,"
8469
echo "the utest dsdot:dsdot_n_1 have been temporarily disabled."
8570
8671
- 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)
8875
8976
- name: Test
9077
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
114100
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
119105
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
124110
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
129115
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

.github/workflows/loongarch64_clang.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@ jobs:
2020
opts: NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LOONGSON3R5
2121
- target: LOONGSON2K1000
2222
opts: NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LOONGSON2K1000
23+
- target: LA64_GENERIC
24+
opts: NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LA64_GENERIC
25+
- target: LA464
26+
opts: NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LA464
27+
- target: LA264
28+
opts: NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=LA264
2329
- target: DYNAMIC_ARCH
2430
opts: NO_SHARED=1 DYNAMIC_ARCH=1 TARGET=GENERIC
2531

.github/workflows/nightly-Homebrew-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ jobs:
6969
mv *.bottle.tar.gz bottles
7070
7171
- name: Upload bottle
72-
uses: actions/upload-artifact@v1
72+
uses: actions/upload-artifact@v4
7373
with:
7474
name: openblas--HEAD.catalina.bottle.tar.gz
7575
path: bottles

CMakeLists.txt

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@
22
## Author: Hank Anderson <hank@statease.com>
33
##
44

5-
cmake_minimum_required(VERSION 2.8.5)
5+
cmake_minimum_required(VERSION 3.16.0)
66

7+
set (CMAKE_ASM_SOURCE_FILE_EXTENSIONS "S")
78
project(OpenBLAS C ASM)
89

910
set(OpenBLAS_MAJOR_VERSION 0)
1011
set(OpenBLAS_MINOR_VERSION 3)
11-
set(OpenBLAS_PATCH_VERSION 28)
12+
set(OpenBLAS_PATCH_VERSION 28.dev)
1213

1314
set(OpenBLAS_VERSION "${OpenBLAS_MAJOR_VERSION}.${OpenBLAS_MINOR_VERSION}.${OpenBLAS_PATCH_VERSION}")
1415

@@ -102,6 +103,10 @@ endif()
102103

103104
message(WARNING "CMake support is experimental. It does not yet support all build options and may not produce the same Makefiles that OpenBLAS ships with.")
104105

106+
if (USE_OPENMP)
107+
find_package(OpenMP REQUIRED)
108+
endif ()
109+
105110
include("${PROJECT_SOURCE_DIR}/cmake/utils.cmake")
106111
include("${PROJECT_SOURCE_DIR}/cmake/system.cmake")
107112

@@ -258,8 +263,13 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "AIX|Android|Linux|FreeBSD|OpenBSD|NetBSD|Drago
258263
endif()
259264
endif()
260265

261-
if (APPLE AND BUILD_SHARED_LIBS)
262-
set(CMAKE_MACOSX_RPATH ON)
266+
if (USE_OPENMP)
267+
if(BUILD_STATIC_LIBS)
268+
target_link_libraries(${OpenBLAS_LIBNAME}_static OpenMP::OpenMP_C)
269+
endif()
270+
if(BUILD_SHARED_LIBS)
271+
target_link_libraries(${OpenBLAS_LIBNAME}_shared OpenMP::OpenMP_C)
272+
endif()
263273
endif()
264274

265275
# Seems that this hack doesn't required since macOS 11 Big Sur

0 commit comments

Comments
 (0)