Skip to content

Commit 63b9976

Browse files
authored
Merge branch 'main' into tojson-unicode
2 parents 6667247 + fc19cc7 commit 63b9976

Some content is hidden

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

59 files changed

+4091
-2912
lines changed

.github/workflows/build-and-release.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
runs-on: ${{ matrix.os }}
1212
strategy:
1313
matrix:
14-
os: [ubuntu-20.04, windows-2019, macos-11]
14+
os: [ubuntu-20.04, windows-2019, macos-12]
1515

1616
steps:
1717
- uses: actions/checkout@v4
@@ -29,7 +29,7 @@ jobs:
2929
python -m pip install -e .[all]
3030
3131
- name: Build wheels
32-
uses: pypa/cibuildwheel@v2.18.0
32+
uses: pypa/cibuildwheel@v2.20.0
3333
env:
3434
# disable repair
3535
CIBW_REPAIR_WHEEL_COMMAND: ""
@@ -56,7 +56,7 @@ jobs:
5656
platforms: linux/arm64
5757

5858
- name: Build wheels
59-
uses: pypa/cibuildwheel@v2.18.0
59+
uses: pypa/cibuildwheel@v2.20.0
6060
env:
6161
CIBW_SKIP: "*musllinux* pp*"
6262
CIBW_REPAIR_WHEEL_COMMAND: ""

.github/workflows/build-docker.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131

3232
- name: Build and push
3333
id: docker_build
34-
uses: docker/build-push-action@v5
34+
uses: docker/build-push-action@v6
3535
with:
3636
context: .
3737
file: "docker/simple/Dockerfile"

.github/workflows/build-wheels-cuda.yaml

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ jobs:
2020
id: set-matrix
2121
run: |
2222
$matrix = @{
23-
'os' = @('ubuntu-20.04', 'windows-latest')
24-
'pyver' = @("3.10", "3.11", "3.12")
23+
'os' = @('ubuntu-latest', 'windows-2019')
24+
'pyver' = @("3.9", "3.10", "3.11", "3.12")
2525
'cuda' = @("12.1.1", "12.2.2", "12.3.2", "12.4.1")
2626
'releasetag' = @("basic")
2727
}
@@ -43,13 +43,20 @@ jobs:
4343
AVXVER: ${{ matrix.releasetag }}
4444

4545
steps:
46+
- name: Add MSBuild to PATH
47+
if: runner.os == 'Windows'
48+
uses: microsoft/setup-msbuild@v2
49+
with:
50+
vs-version: '[16.11,16.12)'
51+
4652
- uses: actions/checkout@v4
4753
with:
4854
submodules: "recursive"
4955

5056
- uses: actions/setup-python@v5
5157
with:
5258
python-version: ${{ matrix.pyver }}
59+
cache: 'pip'
5360

5461
- name: Setup Mamba
5562
uses: conda-incubator/setup-miniconda@v3.0.4
@@ -84,7 +91,7 @@ jobs:
8491
if: runner.os == 'Windows'
8592
run: |
8693
$y = (gi '.\MSBuildExtensions').fullname + '\*'
87-
(gi 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\*\BuildCustomizations').fullname.foreach({cp $y $_})
94+
(gi 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\*\BuildCustomizations').fullname.foreach({cp $y $_})
8895
$cupath = 'CUDA_PATH_V' + $env:CUDAVER.Remove($env:CUDAVER.LastIndexOf('.')).Replace('.','_')
8996
echo "$cupath=$env:CONDA_PREFIX" >> $env:GITHUB_ENV
9097
@@ -107,17 +114,17 @@ jobs:
107114
$env:LD_LIBRARY_PATH = $env:CONDA_PREFIX + '/lib:' + $env:LD_LIBRARY_PATH
108115
}
109116
$env:VERBOSE = '1'
110-
$env:CMAKE_ARGS = '-DLLAMA_CUBLAS=on -DCMAKE_CUDA_ARCHITECTURES=all'
111-
$env:CMAKE_ARGS = "-DLLAMA_CUDA_FORCE_MMQ=ON $env:CMAKE_ARGS"
112-
if ($env:AVXVER -eq 'AVX') {
113-
$env:CMAKE_ARGS = $env:CMAKE_ARGS + ' -DLLAMA_AVX2=off -DLLAMA_FMA=off -DLLAMA_F16C=off'
114-
}
115-
if ($env:AVXVER -eq 'AVX512') {
116-
$env:CMAKE_ARGS = $env:CMAKE_ARGS + ' -DLLAMA_AVX512=on'
117-
}
118-
if ($env:AVXVER -eq 'basic') {
119-
$env:CMAKE_ARGS = $env:CMAKE_ARGS + ' -DLLAMA_AVX=off -DLLAMA_AVX2=off -DLLAMA_FMA=off -DLLAMA_F16C=off'
120-
}
117+
$env:CMAKE_ARGS = '-DGGML_CUDA=on -DCMAKE_CUDA_ARCHITECTURES=all'
118+
$env:CMAKE_ARGS = "-DGGML_CUDA_FORCE_MMQ=ON $env:CMAKE_ARGS"
119+
# if ($env:AVXVER -eq 'AVX') {
120+
$env:CMAKE_ARGS = $env:CMAKE_ARGS + ' -DGGML_AVX2=off -DGGML_FMA=off -DGGML_F16C=off'
121+
# }
122+
# if ($env:AVXVER -eq 'AVX512') {
123+
# $env:CMAKE_ARGS = $env:CMAKE_ARGS + ' -DGGML_AVX512=on'
124+
# }
125+
# if ($env:AVXVER -eq 'basic') {
126+
# $env:CMAKE_ARGS = $env:CMAKE_ARGS + ' -DGGML_AVX=off -DGGML_AVX2=off -DGGML_FMA=off -DGGML_F16C=off'
127+
# }
121128
python -m build --wheel
122129
# write the build tag to the output
123130
Write-Output "CUDA_VERSION=$cudaVersion" >> $env:GITHUB_ENV

.github/workflows/build-wheels-metal.yaml

Lines changed: 35 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -6,81 +6,60 @@ permissions:
66
contents: write
77

88
jobs:
9-
define_matrix:
10-
name: Define Build Matrix
11-
runs-on: ubuntu-latest
12-
outputs:
13-
matrix: ${{ steps.set-matrix.outputs.matrix }}
14-
defaults:
15-
run:
16-
shell: pwsh
17-
18-
steps:
19-
- name: Define Job Output
20-
id: set-matrix
21-
run: |
22-
$matrix = @{
23-
'os' = @('macos-11', 'macos-12', 'macos-13')
24-
'pyver' = @('3.10', '3.11', '3.12')
25-
}
26-
27-
$matrixOut = ConvertTo-Json $matrix -Compress
28-
Write-Output ('matrix=' + $matrixOut) >> $env:GITHUB_OUTPUT
29-
309
build_wheels:
31-
name: ${{ matrix.os }} Python ${{ matrix.pyver }}
32-
needs: define_matrix
10+
name: Build wheels on ${{ matrix.os }}
3311
runs-on: ${{ matrix.os }}
3412
strategy:
35-
matrix: ${{ fromJSON(needs.define_matrix.outputs.matrix) }}
36-
env:
37-
OSVER: ${{ matrix.os }}
13+
matrix:
14+
os: [macos-12, macos-13, macos-14]
3815

3916
steps:
4017
- uses: actions/checkout@v4
4118
with:
4219
submodules: "recursive"
4320

21+
# Used to host cibuildwheel
4422
- uses: actions/setup-python@v5
4523
with:
46-
python-version: ${{ matrix.pyver }}
47-
48-
- name: Install Dependencies
49-
run: |
50-
python -m pip install build wheel cmake
24+
python-version: "3.12"
25+
cache: 'pip'
5126

52-
- name: Build Wheel
27+
- name: Install dependencies
5328
run: |
54-
XCODE15PATH="/Applications/Xcode_15.0.app/Contents/Developer"
55-
XCODE15BINPATH="${XCODE15PATH}/Toolchains/XcodeDefault.xctoolchain/usr/bin"
56-
export CMAKE_ARGS="-DLLAMA_NATIVE=off -DLLAMA_METAL=on"
57-
[[ "$OSVER" == "macos-13" ]] && export CC="${XCODE15BINPATH}/cc" && export CXX="${XCODE15BINPATH}/c++" && export MACOSX_DEPLOYMENT_TARGET="13.0"
58-
[[ "$OSVER" == "macos-12" ]] && export MACOSX_DEPLOYMENT_TARGET="12.0"
59-
[[ "$OSVER" == "macos-11" ]] && export MACOSX_DEPLOYMENT_TARGET="11.0"
29+
python -m pip install --upgrade pip
30+
python -m pip install -e .[all]
6031
61-
export CMAKE_OSX_ARCHITECTURES="arm64" && export ARCHFLAGS="-arch arm64"
62-
VERBOSE=1 python -m build --wheel
63-
64-
if [[ "$OSVER" == "macos-13" ]]; then
65-
export SDKROOT="${XCODE15PATH}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk"
66-
export MACOSX_DEPLOYMENT_TARGET="14.0"
67-
VERBOSE=1 python -m build --wheel
68-
fi
69-
70-
for file in ./dist/*.whl; do cp "$file" "${file/arm64.whl/aarch64.whl}"; done
32+
- name: Build wheels
33+
uses: pypa/cibuildwheel@v2.20.0
34+
env:
35+
# disable repair
36+
CIBW_REPAIR_WHEEL_COMMAND: ""
37+
CIBW_ARCHS: "arm64"
38+
CIBW_ENVIRONMENT: CMAKE_ARGS="-DCMAKE_OSX_ARCHITECTURES=arm64 -DCMAKE_APPLE_SILICON_PROCESSOR=arm64 -DGGML_METAL=on"
39+
CIBW_BUILD: "cp39-* cp310-* cp311-* cp312-*"
40+
with:
41+
package-dir: .
42+
output-dir: wheelhouse2
7143

72-
export CMAKE_OSX_ARCHITECTURES="x86_64" && export CMAKE_ARGS="-DLLAMA_NATIVE=off -DLLAMA_AVX=off -DLLAMA_AVX2=off -DLLAMA_FMA=off -DLLAMA_F16C=off -DLLAMA_METAL=on" && export ARCHFLAGS="-arch x86_64"
73-
VERBOSE=1 python -m build --wheel
44+
- uses: actions/upload-artifact@v4
45+
with:
46+
name: wheels-mac_${{ matrix.os }}
47+
path: ./wheelhouse2/*.whl
7448

75-
if [[ "$OSVER" == "macos-13" ]]; then
76-
export SDKROOT="${XCODE15PATH}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk"
77-
export MACOSX_DEPLOYMENT_TARGET="14.0"
78-
VERBOSE=1 python -m build --wheel
79-
fi
49+
release:
50+
name: Release
51+
needs: [build_wheels]
52+
runs-on: ubuntu-latest
8053

54+
steps:
55+
- uses: actions/download-artifact@v4
56+
with:
57+
merge-multiple: true
58+
path: dist2
59+
8160
- uses: softprops/action-gh-release@v2
8261
with:
83-
files: dist/*
62+
files: dist2/*
8463
# set release name to <tag>-metal
8564
tag_name: ${{ github.ref_name }}-metal
8665
env:

.github/workflows/generate-index-from-release.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
name: Wheels Index
22

33
on:
4-
# Trigger on any new release
5-
release:
6-
types: [published]
4+
# Trigger on new release
5+
workflow_run:
6+
workflows: ["Release", "Build Wheels (CUDA)", "Build Wheels (Metal)"]
7+
types:
8+
- completed
79

810
# Allows you to run this workflow manually from the Actions tab
911
workflow_dispatch:

.github/workflows/publish-to-test.yaml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ jobs:
2222
- name: Set up Python
2323
uses: actions/setup-python@v5
2424
with:
25-
python-version: "3.8"
25+
python-version: "3.11"
26+
cache: 'pip'
2627
- name: Append Dev Version to __version__
2728
run: |
2829
DEV_VERSION=${{ github.event.inputs.dev_version }}
@@ -31,11 +32,11 @@ jobs:
3132
sed -i 's/__version__ = \".*\"/__version__ = \"'"${NEW_VERSION}"'\"/' llama_cpp/__init__.py
3233
- name: Install dependencies
3334
run: |
34-
python3 -m pip install --upgrade pip build
35-
python3 -m pip install -e .[all]
35+
python -m pip install --upgrade pip build
36+
python -m pip install -e .[all]
3637
- name: Build source distribution
3738
run: |
38-
python3 -m build --sdist
39+
python -m build --sdist
3940
- name: Publish to Test PyPI
4041
uses: pypa/gh-action-pypi-publish@release/v1
4142
with:

.github/workflows/publish.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,14 @@ jobs:
1616
- name: Set up Python
1717
uses: actions/setup-python@v5
1818
with:
19-
python-version: "3.8"
19+
python-version: "3.9"
2020
- name: Install dependencies
2121
run: |
22-
python3 -m pip install --upgrade pip build
23-
python3 -m pip install -e .[all]
22+
python -m pip install --upgrade pip build
23+
python -m pip install -e .[all]
2424
- name: Build source distribution
2525
run: |
26-
python3 -m build --sdist
26+
python -m build --sdist
2727
- name: Publish distribution to PyPI
2828
# TODO: move to tag based releases
2929
# if: startsWith(github.ref, 'refs/tags')

.github/workflows/test-pypi.yaml

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,57 +8,60 @@ jobs:
88
runs-on: ubuntu-latest
99
strategy:
1010
matrix:
11-
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
11+
python-version: ["3.9", "3.10", "3.11", "3.12"]
1212

1313
steps:
1414
- name: Set up Python ${{ matrix.python-version }}
1515
uses: actions/setup-python@v5
1616
with:
1717
python-version: ${{ matrix.python-version }}
18+
cache: 'pip'
1819
- name: Install dependencies
1920
run: |
20-
python3 -m pip install --upgrade pip
21-
python3 -m pip install --verbose llama-cpp-python[all]
21+
python -m pip install --upgrade pip
22+
python -m pip install --verbose llama-cpp-python[all]
2223
- name: Test with pytest
2324
run: |
24-
python3 -c "import llama_cpp"
25+
python -c "import llama_cpp"
2526
2627
build-windows:
2728

2829
runs-on: windows-latest
2930
strategy:
3031
matrix:
31-
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
32+
python-version: ["3.9", "3.10", "3.11", "3.12"]
3233

3334
steps:
3435
- name: Set up Python ${{ matrix.python-version }}
3536
uses: actions/setup-python@v5
3637
with:
3738
python-version: ${{ matrix.python-version }}
39+
cache: 'pip'
3840
- name: Install dependencies
3941
run: |
40-
python3 -m pip install --upgrade pip
41-
python3 -m pip install --verbose llama-cpp-python[all]
42+
python -m pip install --upgrade pip
43+
python -m pip install --verbose llama-cpp-python[all]
4244
- name: Test with pytest
4345
run: |
44-
python3 -c "import llama_cpp"
46+
python -c "import llama_cpp"
4547
4648
build-macos:
4749

4850
runs-on: macos-latest
4951
strategy:
5052
matrix:
51-
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
53+
python-version: ["3.9", "3.10", "3.11", "3.12"]
5254

5355
steps:
5456
- name: Set up Python ${{ matrix.python-version }}
5557
uses: actions/setup-python@v5
5658
with:
5759
python-version: ${{ matrix.python-version }}
60+
cache: 'pip'
5861
- name: Install dependencies
5962
run: |
60-
python3 -m pip install --upgrade pip
61-
python3 -m pip install --verbose llama-cpp-python[all]
63+
python -m pip install --upgrade pip
64+
python -m pip install --verbose llama-cpp-python[all]
6265
- name: Test with pytest
6366
run: |
64-
python3 -c "import llama_cpp"
67+
python -c "import llama_cpp"

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy