Skip to content

Commit b528b9b

Browse files
committed
Merge branch 'develop' of https://github.com/OpenMathLib/OpenBLAS into develop
2 parents 7da983e + a47b45d commit b528b9b

492 files changed

Lines changed: 27753 additions & 20260 deletions

File tree

Some content is hidden

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

.cirrus.yml

Lines changed: 89 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
macos_instance:
2-
image: ghcr.io/cirruslabs/macos-monterey-xcode:latest
3-
1+
#macos_instance:
2+
# image: ghcr.io/cirruslabs/macos-monterey-xcode:latest
3+
#
44
#task:
55
# name: AppleM1/LLVM
66
# compile_script:
@@ -9,7 +9,7 @@ macos_instance:
99
# - export LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
1010
# - export CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
1111
# - make TARGET=VORTEX USE_OPENMP=1 CC=clang
12-
12+
#
1313
#task:
1414
# name: AppleM1/LLVM/ILP64
1515
# compile_script:
@@ -18,7 +18,7 @@ macos_instance:
1818
# - export LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
1919
# - export CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
2020
# - make TARGET=VORTEX USE_OPENMP=1 CC=clang INTERFACE64=1
21-
21+
#
2222
#task:
2323
# name: AppleM1/LLVM/CMAKE
2424
# compile_script:
@@ -30,7 +30,7 @@ macos_instance:
3030
# - cd build
3131
# - cmake -DTARGET=VORTEX -DCMAKE_C_COMPILER=clang -DBUILD_SHARED_LIBS=ON ..
3232
# - make -j 4
33-
33+
#
3434
#task:
3535
# name: AppleM1/GCC/MAKE/OPENMP
3636
# compile_script:
@@ -39,90 +39,93 @@ macos_instance:
3939
# - export LDFLAGS="-L/opt/homebrew/lib"
4040
# - export CPPFLAGS="-I/opt/homebrew/include"
4141
# - make CC=gcc-11 FC=gfortran-11 USE_OPENMP=1
42-
43-
macos_instance:
44-
image: ghcr.io/cirruslabs/macos-sonoma-xcode:latest
45-
task:
46-
name: AppleM1/LLVM x86_64 xbuild
47-
compile_script:
48-
- #brew install llvm
49-
- export #PATH=/opt/homebrew/opt/llvm/bin:$PATH
50-
- export #LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
51-
- export #CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
52-
- export ARCHS="i386 x86_64"
53-
- export ARCHS_STANDARD="i386 x86_64"
54-
- export ARCHS_STANDARD_32_64_BIT="i386 x86_64"
55-
- export ARCHS_STANDARD_64_BIT=x86_64
56-
- export ARCHS_STANDARD_INCLUDING_64_BIT="i386 x86_64"
57-
- export ARCHS_UNIVERSAL_IPHONE_OS="i386 x86_64"
58-
- export VALID_ARCHS="i386 x86_64"
59-
- xcrun --sdk macosx --show-sdk-path
60-
- xcodebuild -version
61-
- export CC=/Applications/Xcode_26.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
62-
- export CFLAGS="-O2 -unwindlib=none -Wno-macro-redefined -isysroot /Applications/Xcode_26.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk -arch x86_64"
63-
- make TARGET=CORE2 DYNAMIC_ARCH=1 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1 RANLIB="ls -l"
64-
always:
65-
config_artifacts:
66-
path: "*conf*"
67-
type: text/plain
42+
#
43+
#macos_instance:
44+
# image: ghcr.io/cirruslabs/macos-sonoma-xcode:latest
45+
#task:
46+
# name: AppleM1/LLVM x86_64 xbuild
47+
# compile_script:
48+
# - #brew install llvm
49+
# - export #PATH=/opt/homebrew/opt/llvm/bin:$PATH
50+
# - export #LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
51+
# - export #CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
52+
# - export ARCHS="i386 x86_64"
53+
# - export ARCHS_STANDARD="i386 x86_64"
54+
# - export ARCHS_STANDARD_32_64_BIT="i386 x86_64"
55+
# - export ARCHS_STANDARD_64_BIT=x86_64
56+
# - export ARCHS_STANDARD_INCLUDING_64_BIT="i386 x86_64"
57+
# - export ARCHS_UNIVERSAL_IPHONE_OS="i386 x86_64"
58+
# - export VALID_ARCHS="i386 x86_64"
59+
# - xcrun --sdk macosx --show-sdk-path
60+
# - xcodebuild -version
61+
# - export CC=/Applications/Xcode_26.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
62+
# - export CFLAGS="-O2 -unwindlib=none -Wno-macro-redefined -isysroot /Applications/Xcode_26.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk -arch x86_64"
63+
# - make TARGET=CORE2 DYNAMIC_ARCH=1 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1 RANLIB="ls -l"
64+
# always:
65+
# config_artifacts:
66+
# path: "*conf*"
67+
# type: text/plain
6868
# lib_artifacts:
6969
# path: "libopenblas*"
7070
# type: application/octet-streamm
71+
#
72+
#macos_instance:
73+
# image: ghcr.io/cirruslabs/macos-sonoma-xcode:latest
74+
#task:
75+
# name: AppleM1/LLVM armv8-ios xbuild
76+
# compile_script:
77+
# - #brew install llvm
78+
# - export #PATH=/opt/homebrew/opt/llvm/bin:$PATH
79+
# - export #LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
80+
# - export #CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
81+
# - export CC=/Applications/Xcode_26.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
82+
# - export CFLAGS="-O2 -unwindlib=none -Wno-macro-redefined -isysroot /Applications/Xcode_26.0.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.0.sdk -arch arm64 -miphoneos-version-min=10.0"
83+
# - xcrun --sdk iphoneos --show-sdk-path
84+
# - ls -l /Applications
85+
# - make TARGET=ARMV8 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1 CROSS=1
86+
# always:
87+
# config_artifacts:
88+
# path: "*conf*"
89+
# type: text/plain
90+
#
91+
#macos_instance:
92+
# image: ghcr.io/cirruslabs/macos-tahoe-xcode:latest
93+
#task:
94+
# name: AppleM1/LLVM armv7-androidndk xbuild
95+
# compile_script:
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
99+
# - export AR=/opt/homebrew/share/android-ndk/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar
100+
# - export RANLIB=/opt/homebrew/share/android-ndk/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib
101+
# - make TARGET=ARMV7 ARM_SOFTFP_ABI=1 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1
102+
# always:
103+
# config_artifacts:
104+
# path: "*conf*"
105+
# type: text/plain
106+
#
107+
#task:
108+
# name: NeoverseN1
109+
# arm_container:
110+
# image: node:latest
111+
# compile_script:
112+
# - make
113+
#
114+
# task:
115+
# name: NeoverseN1-ILP64
116+
# arm_container:
117+
# image: node:latest
118+
# compile_script:
119+
# - make INTERFACE64=1
120+
#
121+
#task:
122+
# name: NeoverseN1-OMP
123+
# arm_container:
124+
# image: node:latest
125+
# cpu: 8
126+
# compile_script:
127+
# - make USE_OPENMP=1
71128

72-
macos_instance:
73-
image: ghcr.io/cirruslabs/macos-sonoma-xcode:latest
74-
task:
75-
name: AppleM1/LLVM armv8-ios xbuild
76-
compile_script:
77-
- #brew install llvm
78-
- export #PATH=/opt/homebrew/opt/llvm/bin:$PATH
79-
- export #LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
80-
- export #CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
81-
- export CC=/Applications/Xcode_26.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
82-
- export CFLAGS="-O2 -unwindlib=none -Wno-macro-redefined -isysroot /Applications/Xcode_26.0.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.0.sdk -arch arm64 -miphoneos-version-min=10.0"
83-
- xcrun --sdk iphoneos --show-sdk-path
84-
- ls -l /Applications
85-
- make TARGET=ARMV8 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1 CROSS=1
86-
always:
87-
config_artifacts:
88-
path: "*conf*"
89-
type: text/plain
90-
91-
macos_instance:
92-
image: ghcr.io/cirruslabs/macos-sonoma-xcode:latest
93-
task:
94-
name: AppleM1/LLVM armv7-androidndk xbuild
95-
compile_script:
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
99-
- make TARGET=ARMV7 ARM_SOFTFP_ABI=1 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1 RANLIB="ls -l"
100-
always:
101-
config_artifacts:
102-
path: "*conf*"
103-
type: text/plain
104-
105-
task:
106-
name: NeoverseN1
107-
arm_container:
108-
image: node:latest
109-
compile_script:
110-
- make
111-
112-
task:
113-
name: NeoverseN1-ILP64
114-
arm_container:
115-
image: node:latest
116-
compile_script:
117-
- make INTERFACE64=1
118-
119-
task:
120-
name: NeoverseN1-OMP
121-
arm_container:
122-
image: node:latest
123-
cpu: 8
124-
compile_script:
125-
- make USE_OPENMP=1
126129

127130
FreeBSD_task:
128131
name: FreeBSD-gcc

.github/workflows/apple_m.yml

Lines changed: 141 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ permissions:
1010
contents: read # to fetch code (actions/checkout)
1111

1212
jobs:
13-
build:
13+
build-windows:
1414
if: "github.repository == 'OpenMathLib/OpenBLAS'"
1515
runs-on: macos-14
1616

@@ -24,7 +24,7 @@ jobs:
2424

2525
steps:
2626
- name: Checkout repository
27-
uses: actions/checkout@v3
27+
uses: actions/checkout@v6
2828

2929
- name: Print system information
3030
run: |
@@ -52,7 +52,7 @@ jobs:
5252
fi
5353
5454
- name: Compilation cache
55-
uses: actions/cache@v3
55+
uses: actions/cache@v5
5656
with:
5757
path: ~/.ccache
5858
# We include the commit sha in the cache key, as new cache entries are
@@ -155,3 +155,141 @@ jobs:
155155
exit 1
156156
;;
157157
esac
158+
159+
xbuild-x86_64:
160+
if: "github.repository == 'OpenMathLib/OpenBLAS'"
161+
runs-on: macos-26
162+
163+
strategy:
164+
fail-fast: false
165+
166+
steps:
167+
- name: Checkout repository
168+
uses: actions/checkout@v6
169+
170+
- name: Print system information
171+
run: |
172+
if [ "$RUNNER_OS" == "macOS" ]; then
173+
sysctl -a | grep machdep.cpu
174+
else
175+
echo "::error::$RUNNER_OS not supported"
176+
exit 1
177+
fi
178+
179+
- name: Install Dependencies
180+
run: |
181+
if [ "$RUNNER_OS" == "Linux" ]; then
182+
sudo apt-get install -y gfortran cmake ccache libtinfo5
183+
elif [ "$RUNNER_OS" == "macOS" ]; then
184+
# It looks like "gfortran" isn't working correctly unless "gcc" is re-installed.
185+
brew reinstall gcc
186+
brew install coreutils ccache
187+
brew install llvm
188+
else
189+
echo "::error::$RUNNER_OS not supported"
190+
exit 1
191+
fi
192+
193+
- name: Crossbuild OpenBLAS to x86_64
194+
run: |
195+
#export PATH=/opt/homebrew/opt/llvm/bin:$PATH
196+
#export LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
197+
#export CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
198+
export ARCHS="i386 x86_64"
199+
export ARCHS_STANDARD="i386 x86_64"
200+
export ARCHS_STANDARD_32_64_BIT="i386 x86_64"
201+
export ARCHS_STANDARD_64_BIT=x86_64
202+
export ARCHS_STANDARD_INCLUDING_64_BIT="i386 x86_64"
203+
export ARCHS_UNIVERSAL_IPHONE_OS="i386 x86_64"
204+
export VALID_ARCHS="i386 x86_64"
205+
xcrun --sdk macosx --show-sdk-path
206+
xcodebuild -version
207+
export CC=/Applications/Xcode_26.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
208+
export CFLAGS="-O2 -unwindlib=none -Wno-macro-redefined -isysroot /Applications/Xcode_26.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk -arch x86_64"
209+
make TARGET=CORE2 DYNAMIC_ARCH=1 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1 RANLIB="ls -l"
210+
211+
xbuild-ios:
212+
if: "github.repository == 'OpenMathLib/OpenBLAS'"
213+
runs-on: macos-26
214+
215+
strategy:
216+
fail-fast: false
217+
218+
steps:
219+
- name: Checkout repository
220+
uses: actions/checkout@v6
221+
222+
- name: Print system information
223+
run: |
224+
if [ "$RUNNER_OS" == "macOS" ]; then
225+
sysctl -a | grep machdep.cpu
226+
else
227+
echo "::error::$RUNNER_OS not supported"
228+
exit 1
229+
fi
230+
231+
- name: Install Dependencies
232+
run: |
233+
if [ "$RUNNER_OS" == "Linux" ]; then
234+
sudo apt-get install -y gfortran cmake ccache libtinfo5
235+
elif [ "$RUNNER_OS" == "macOS" ]; then
236+
# It looks like "gfortran" isn't working correctly unless "gcc" is re-installed.
237+
brew reinstall gcc
238+
brew install coreutils ccache
239+
brew install llvm
240+
else
241+
echo "::error::$RUNNER_OS not supported"
242+
exit 1
243+
fi
244+
245+
- name: Crossbuild to iOS
246+
run: |
247+
CC="$(xcrun --sdk iphoneos --find clang)"
248+
SDKROOT="$(xcrun --sdk iphoneos --show-sdk-path)"
249+
echo "CC=${CC}"
250+
echo "SDKROOT=${SDKROOT}"
251+
make TARGET=ARMV8 DYNAMIC_ARCH=1 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1 \
252+
CC="${CC}" CFLAGS="-O2 -Wno-macro-redefined -isysroot ${SDKROOT} -arch arm64 -miphoneos-version-min=10.0"
253+
254+
xbuild-ios32:
255+
if: "github.repository == 'OpenMathLib/OpenBLAS'"
256+
runs-on: macos-26
257+
258+
strategy:
259+
fail-fast: false
260+
261+
steps:
262+
- name: Checkout repository
263+
uses: actions/checkout@v6
264+
265+
- name: Print system information
266+
run: |
267+
if [ "$RUNNER_OS" == "macOS" ]; then
268+
sysctl -a | grep machdep.cpu
269+
else
270+
echo "::error::$RUNNER_OS not supported"
271+
exit 1
272+
fi
273+
274+
- name: Install Dependencies
275+
run: |
276+
if [ "$RUNNER_OS" == "Linux" ]; then
277+
sudo apt-get install -y gfortran cmake ccache libtinfo5
278+
elif [ "$RUNNER_OS" == "macOS" ]; then
279+
# It looks like "gfortran" isn't working correctly unless "gcc" is re-installed.
280+
brew reinstall gcc
281+
brew install coreutils ccache
282+
brew install llvm
283+
brew install --cask android-ndk
284+
else
285+
echo "::error::$RUNNER_OS not supported"
286+
exit 1
287+
fi
288+
289+
- name: AppleM1/LLVM armv7-androidndk xbuild
290+
run: |
291+
export ANDROID_NDK_HOME="/opt/homebrew/share/android-ndk"
292+
export CC=/opt/homebrew/share/android-ndk/toolchains/llvm/prebuilt/darwin-x86_64/bin/armv7a-linux-androideabi23-clang
293+
export AR=/opt/homebrew/share/android-ndk/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ar
294+
export RANLIB=/opt/homebrew/share/android-ndk/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-ranlib
295+
make TARGET=ARMV7 ARM_SOFTFP_ABI=1 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1

.github/workflows/arm64_graviton.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030

3131
steps:
3232
- name: Checkout repository
33-
uses: actions/checkout@v3
33+
uses: actions/checkout@v6
3434

3535
- name: Print system information
3636
run: |
@@ -52,7 +52,7 @@ jobs:
5252
fi
5353
5454
- name: Compilation cache
55-
uses: actions/cache@v3
55+
uses: actions/cache@v5
5656
with:
5757
path: ~/.ccache
5858
# We include the commit sha in the cache key, as new cache entries are

0 commit comments

Comments
 (0)