Skip to content

Commit 92e5374

Browse files
authored
Merge pull request #227 from mattip/openblas-develop
update OpenBLAS version to v0.3.30-322-gef6f9762
2 parents 18767f0 + 64d8cf6 commit 92e5374

File tree

10 files changed

+50
-133
lines changed

10 files changed

+50
-133
lines changed

.github/workflows/posix.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010
- cron: '0 0 * * 0'
1111

1212
env:
13-
OPENBLAS_COMMIT: "v0.3.30"
13+
OPENBLAS_COMMIT: "v0.3.30-349-gf6df9beb"
1414
MACOSX_DEPLOYMENT_TARGET: 10.9
1515

1616
jobs:
@@ -39,6 +39,8 @@ jobs:
3939

4040
- { os: ubuntu-24.04-arm, PLAT: aarch64, INTERFACE64: '0', MB_ML_VER: '2014', MB_ML_LIBC: manylinux}
4141
- { os: ubuntu-24.04-arm, PLAT: aarch64, INTERFACE64: '1', MB_ML_VER: '2014', MB_ML_LIBC: manylinux}
42+
- { os: ubuntu-24.04-arm, PLAT: aarch64, INTERFACE64: '0', MB_ML_VER: '_2_28', MB_ML_LIBC: manylinux}
43+
- { os: ubuntu-24.04-arm, PLAT: aarch64, INTERFACE64: '1', MB_ML_VER: '_2_28', MB_ML_LIBC: manylinux}
4244

4345
- { os: ubuntu-24.04-arm, PLAT: aarch64, INTERFACE64: '0', MB_ML_VER: '_1_2', MB_ML_LIBC: musllinux}
4446
- { os: ubuntu-24.04-arm, PLAT: aarch64, INTERFACE64: '1', MB_ML_VER: '_1_2', MB_ML_LIBC: musllinux}

.github/workflows/windows-arm.yml

Lines changed: 11 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
branches: [ main ]
88

99
env:
10-
OPENBLAS_COMMIT: "v0.3.30"
10+
OPENBLAS_COMMIT: "v0.3.30-349-gf6df9beb"
1111
OPENBLAS_ROOT: "c:\\opt"
1212
# Preserve working directory for calls into bash
1313
# Without this, invoking bash will cd to the home directory
@@ -37,25 +37,22 @@ jobs:
3737
python-version: 3.12
3838
architecture: arm64
3939

40-
- name: Setup visual studio
41-
uses: microsoft/setup-msbuild@v2
42-
43-
- name: Download, install 7zip.
44-
run: |
45-
Invoke-WebRequest https://www.7-zip.org/a/7z2409-arm64.exe -UseBasicParsing -OutFile 7z_arm.exe
46-
Start-Process -FilePath ".\7z_arm.exe" -ArgumentList "/S" -Wait
47-
echo "C:\Program Files\7-Zip" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
48-
4940
- name: Download and install LLVM installer
5041
run: |
51-
Invoke-WebRequest https://github.com/llvm/llvm-project/releases/download/llvmorg-19.1.5/LLVM-19.1.5-woa64.exe -UseBasicParsing -OutFile LLVM-woa64.exe
42+
Invoke-WebRequest https://github.com/llvm/llvm-project/releases/download/llvmorg-20.1.8/LLVM-20.1.8-woa64.exe -UseBasicParsing -OutFile LLVM-woa64.exe
5243
Start-Process -FilePath ".\LLVM-woa64.exe" -ArgumentList "/S" -Wait
5344
echo "C:\Program Files\LLVM\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
5445
55-
- name: Update CMake for WoA
46+
- name: Install CMake and Ninja for Win-ARM64
47+
shell: pwsh
5648
run: |
57-
pip install cmake
58-
get-command cmake
49+
Invoke-WebRequest https://github.com/Kitware/CMake/releases/download/v3.29.4/cmake-3.29.4-windows-arm64.msi -OutFile cmake-arm64.msi
50+
Start-Process msiexec.exe -ArgumentList "/i cmake-arm64.msi /quiet /norestart" -Wait
51+
echo "C:\Program Files\CMake\bin" >> $env:GITHUB_PATH
52+
53+
Invoke-WebRequest https://github.com/ninja-build/ninja/releases/download/v1.13.1/ninja-winarm64.zip -OutFile ninja-winarm64.zip
54+
Expand-Archive ninja-winarm64.zip -DestinationPath ninja
55+
Copy-Item ninja\ninja.exe -Destination "C:\Windows\System32"
5956
6057
- name: Set env variables
6158
run: |
@@ -70,12 +67,6 @@ jobs:
7067
git submodule update --init --recursive
7168
.\tools\build_steps_win_arm64.bat 64 ${env:INTERFACE_BITS}
7269
73-
- name: Pack
74-
run: |
75-
cd local
76-
cp -r "scipy_openblas${env:INTERFACE_BITS}" $env:INTERFACE_BITS
77-
7z a ../builds/openblas-${env:PLAT}-${env:INTERFACE64}.zip -tzip $env:INTERFACE_BITS
78-
7970
- name: Test ${{ matrix.INTERFACE_BITS }}-bit interface wheel
8071
run: |
8172
python -m pip install --no-index --find-links dist scipy_openblas${env:INTERFACE_BITS}
@@ -87,11 +78,6 @@ jobs:
8778
name: wheels-${{ env.PLAT }}-${{ env.INTERFACE64 }}
8879
path: dist/scipy_openblas*.whl
8980

90-
- uses: actions/[email protected]
91-
with:
92-
name: openblas-${{ env.PLAT }}-${{ env.INTERFACE64 }}
93-
path: builds/openblas*.zip
94-
9581
- name: Install Anaconda client
9682
run: |
9783
# Rust installation needed for rpds-py.

.github/workflows/windows.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
workflow_dispatch: null
99

1010
env:
11-
OPENBLAS_COMMIT: "v0.3.30"
11+
OPENBLAS_COMMIT: "v0.3.30-349-gf6df9beb"
1212
OPENBLAS_ROOT: "c:\\opt"
1313
# Preserve working directory for calls into bash
1414
# Without this, invoking bash will cd to the home directory
@@ -131,7 +131,9 @@ jobs:
131131
cat tools/LICENSE_win32.txt >> LICENSE.txt
132132
python -m pip wheel -w dist -vv .
133133
# move the mis-named scipy_openblas64-none-any.whl to a platform-specific name
134-
for f in dist/*.whl; do mv $f "${f/%any.whl/$WHEEL_PLAT.whl}"; done
134+
if [[ -e dist/*any*.whl ]]; then
135+
for f in dist/*.whl; do mv $f "${f/%any.whl/$WHEEL_PLAT.whl}"; done
136+
fi
135137
136138
- name: Set up different Python
137139
uses: actions/setup-python@v5

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ env:
22
global:
33
# The archive that gets built has name from ``git describe`` on this
44
# commit.
5-
- OPENBLAS_COMMIT: "v0.3.30"
5+
- OPENBLAS_COMMIT: "v0.3.30-349-gf6df9beb"
66

77
dist: jammy
88
services: docker

OpenBLAS

patches/0001-backout-PR-4741.patch

Lines changed: 0 additions & 61 deletions
This file was deleted.

patches/remove-lock-around-thread-shutdown.patch

Lines changed: 0 additions & 35 deletions
This file was deleted.

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ build-backend = "setuptools.build_meta"
88

99
[project]
1010
name = "scipy-openblas64"
11-
# v0.3.30
12-
version = "0.3.30.0.7"
11+
# v0.3.30-349-gf6df9beb
12+
version = "0.3.30.349.0"
1313
requires-python = ">=3.7"
1414
description = "Provides OpenBLAS for python packaging"
1515
readme = "README.md"

tools/build_steps.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,11 @@ EOF
171171
Linux-aarch64)
172172
local bitness=64
173173
local target="ARMV8"
174+
# manylinux2014 image uses gcc-10, which miscompiles ARMV8SVE and up
175+
if [ "$MB_ML_VER" == "2014" ]; then
176+
echo setting DYNAMIC_LIST for manylinux2014 to ARMV8 only
177+
local dynamic_list="ARMV8"
178+
fi
174179
;;
175180
Darwin-arm64)
176181
local bitness=64

tools/build_steps_win_arm64.bat

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ if errorlevel 1 (
7777
exit /b 2
7878
)
7979

80+
:: Patch
81+
for /r %%f in (..\patches\*) do git apply %%f
82+
if errorlevel 1 exit /b 1
83+
8084
:: Set suffixed-ILP64 flags
8185
if "%if_bits%"=="64" (
8286
set "interface_flags=-DINTERFACE64=1 -DSYMBOLSUFFIX=64_"
@@ -91,18 +95,32 @@ mkdir build || exit /b 1 & cd build || exit /b 1
9195
echo Setting up ARM64 Developer Command Prompt and running CMake...
9296

9397
:: Initialize VS ARM64 environment
94-
for /f "usebackq tokens=*" %%i in (`"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property installationPath`) do call "%%i\VC\Auxiliary\Build\vcvarsall.bat" arm64
98+
CALL "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsarm64.bat"
9599

96100
:: Prefer LLVM flang
97101
PATH=C:\Program Files\LLVM\bin;%PATH%
98102

99103
:: Run CMake and Ninja build
100-
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DUSE_THREADS=1 -DNUM_THREADS=24 -DTARGET=ARMV8 -DBUILD_SHARED_LIBS=ON -DARCH=arm64 ^
101-
-DBINARY=%build_bits% -DCMAKE_SYSTEM_PROCESSOR=ARM64 -DCMAKE_C_COMPILER=clang-cl ^
102-
-DCMAKE_Fortran_COMPILER=flang-new -DSYMBOLPREFIX="scipy_" -DLIBNAMEPREFIX="scipy_" %interface_flags%
104+
105+
set CFLAGS=-Wno-reserved-macro-identifier -Wno-unsafe-buffer-usage -Wno-unused-macros -Wno-sign-conversion -Wno-reserved-identifier
106+
cmake .. -G Ninja ^
107+
-DCMAKE_BUILD_TYPE=Release ^
108+
-DTARGET=ARMV8 ^
109+
-DBINARY=%build_bits% ^
110+
-DCMAKE_C_COMPILER=clang-cl ^
111+
-DCMAKE_Fortran_COMPILER=flang-new ^
112+
-DBUILD_SHARED_LIBS=ON ^
113+
-DCMAKE_SYSTEM_PROCESSOR=arm64 ^
114+
-DCMAKE_SYSTEM_NAME=Windows ^
115+
-DSYMBOLPREFIX="scipy_" ^
116+
-DLIBNAMEPREFIX="scipy_" ^
117+
-DUSE_THREADS=1 ^
118+
-DNUM_THREADS=24 ^
119+
%interface_flags%
120+
103121
if errorlevel 1 exit /b 1
104122

105-
ninja
123+
ninja -j 16
106124
if errorlevel 1 exit /b 1
107125

108126
echo Build complete. Returning to Batch.

0 commit comments

Comments
 (0)