Skip to content

Commit

Permalink
Update vendored blis to v1.0 (#113)
Browse files Browse the repository at this point in the history
* Try updating upstream to 1.0

* Enable azure-pipelines jsonl job

* Update python version in azure pipelines

* Add LLM-generated GHA translating from Azure Pipelines

* Update submodule

* Try to fix macos build for jsonl

* Try to fix macos generate jsonl

* Try with x86 macos

* Upd submodule

* Try to fix windows build

* Fix arg to chocolatey

* Try to fix windows build

* Try to fix windows build

* Try to debug windows build

* Try to debug build

* Try to fix generate jsonl for windows

* Try to fix windows jsonl

* Try to fix windows jsonl

* Try to fix windows jsonl

* Disable jsonl job again

* Set version to v1.1.0a0

* Set version to v1.1.0

* Disable generate jsonl github action
  • Loading branch information
honnibal authored Dec 13, 2024
1 parent 183bda3 commit 86752cd
Show file tree
Hide file tree
Showing 5 changed files with 114 additions and 8 deletions.
100 changes: 100 additions & 0 deletions .github/workflows/generate_jsonl.yml.disabled
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
name: Generate JSONL

on:
push:
branches: ['*']
pull_request:
branches: ['*']

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
generate-jsonl:
strategy:
matrix:
os: [macos-13, windows-latest]
python-version: ['3.10']
fail-fast: false

runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
architecture: x64

- name: Preinstall (Windows)
shell: bash
if: startsWith(matrix.os, 'windows')
run: |
choco install llvm
- name: Install dependencies (macOS)
if: runner.os == 'macOS'
run: |
brew install gettext
brew link gettext --force
brew install llvm

- name: Install dependencies
run: |
python -m pip install --upgrade pip wheel setuptools
pip install -r requirements.txt
- name: Generate JSONL (Windows)
if: startsWith(matrix.os, 'windows')
run: |
set "PATH=C:\Program Files\LLVM\bin;%PATH%"
set "AR=llvm-ar"
set "AS=llvm-as"
set "CC=clang"
set RANLIB=echo
clang --version
rm "blis/_src/make/windows-generic.jsonl"
rm "blis/_src/make/windows-x86_64.jsonl"
cd flame-blis
bash -lc "./configure --disable-blas --disable-cblas --disable-shared --disable-threading --int-size=64 --enable-verbose-make --enable-arg-max-hack generic"
echo "Compiling"
mingw32-make
- name: Generate JSONL (macOS)
if: runner.os == 'macOS'
run: |
export PATH="/usr/local/opt/llvm/bin:$PATH"
export PATH="/usr/local/opt/gettext/bin:$PATH"
clang --version
chmod +x bin/generate-make-jsonl
bin/generate-make-jsonl darwin generic --export
bin/generate-make-jsonl darwin x86_64 --export
bin/generate-make-jsonl darwin x86_64_no_zen3 --export
bin/generate-make-jsonl darwin x86_64_no_zen2 --export
bin/generate-make-jsonl darwin x86_64_no_skx --export

- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: jsonl-${{ runner.os }}
path: artifacts/
retention-days: 5

# Optional: Automatically commit artifacts
# - name: Download all artifacts
# if: github.ref == 'refs/heads/main' && github.event_name == 'push'
# uses: actions/download-artifact@v4
# with:
# path: downloaded-artifacts
#
# - name: Commit artifacts
# if: github.ref == 'refs/heads/main' && github.event_name == 'push'
# run: |
# git config --local user.email "github-actions[bot]@users.noreply.github.com"
# git config --local user.name "github-actions[bot]"
# cp -r downloaded-artifacts/* artifacts/
# git add artifacts/
# git commit -m "Update JSONL artifacts [skip ci]" || echo "No changes to commit"
# git push
8 changes: 4 additions & 4 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ jobs:
condition: false
strategy:
matrix:
Python38Mac:
Python310Mac:
imageName: 'macos-latest'
python.version: '3.8'
Python38Windows:
python.version: '3.10'
Python310Windows:
imageName: 'windows-latest'
python.version: '3.8'
python.version: '3.10'
maxParallel: 4
pool:
vmImage: $(imageName)
Expand Down
10 changes: 8 additions & 2 deletions bin/generate-make-jsonl
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,23 @@ ARCH="$2"
EXPORT="$3"
JSONL="blis/_src/make/$OS-$ARCH.jsonl"

mkdir -p include

cd flame-blis
if [ ! -f $JSONL ]; then
echo "Compile"
if [[ "$OS" == "windows" ]]; then
echo "Build with mingw32-make"
mingw32-make clean
./configure --disable-blas --disable-cblas --disable-shared --disable-threading --int-size=64 --enable-verbose-make --enable-arg-max-hack $ARCH
mingw32-make -j 4 > make.log
echo "Compiling"
mingw32-make | tee make.log
else
echo "Build with make"
make clean
./configure --disable-blas --disable-cblas --disable-shared --disable-threading --int-size=64 --enable-verbose-make --export-shared=all $ARCH
make > make.log
echo "Compiling"
make | tee make.log
fi
echo "Preprocess make log"
cat make.log | python ../bin/munge_make_log.py $OS $ARCH > ../$JSONL
Expand Down
2 changes: 1 addition & 1 deletion blis/about.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# https://github.com/pypa/warehouse/blob/master/warehouse/__about__.py

__name__ = "blis"
__version__ = "1.0.2"
__version__ = "1.1.0"
__summary__ = (
"The Blis BLAS-like linear algebra library, as a self-contained C-extension."
)
Expand Down
2 changes: 1 addition & 1 deletion flame-blis
Submodule flame-blis updated 1150 files

0 comments on commit 86752cd

Please sign in to comment.