Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update vendored blis to v1.0 #113

Merged
merged 23 commits into from
Dec 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading