@@ -7,36 +7,16 @@ permissions:
77 contents : write
88
99jobs :
10- define_matrix :
11- name : Define Build Matrix
12- runs-on : windows-2022
13- outputs :
14- matrix : ${{ steps.set-matrix.outputs.matrix }}
15- defaults :
16- run :
17- shell : pwsh
18-
19- steps :
20- - name : Define Job Output
21- id : set-matrix
22- run : |
23- $matrix = @{
24- 'os' = @('windows-2022')
25- 'pyver' = @("3.10", "3.11", "3.12", "3.13")
26- 'cuda' = @("12.4.1","12.6.3")
27- 'releasetag' = @("AVX2")
28- 'cudaarch' = @("all")
29- }
30-
31- $matrixOut = ConvertTo-Json $matrix -Compress
32- Write-Output ('matrix=' + $matrixOut) >> $env:GITHUB_OUTPUT
33-
3410 build_wheels :
35- name : Build Wheel ${{ matrix.os }} ${{ matrix.pyver }} ${{ matrix.cuda }} ${{ matrix.releasetag == 'wheels' && 'AVX2' || matrix.releasetag }}
36- needs : define_matrix
11+ name : Build Wheel ${{ matrix.os }} ${{ matrix.pyver }} ${{ matrix.cuda }} ${{ matrix.releasetag }}
3712 runs-on : ${{ matrix.os }}
3813 strategy :
39- matrix : ${{ fromJSON(needs.define_matrix.outputs.matrix) }}
14+ matrix :
15+ os : ['windows-2022']
16+ pyver : ["3.10", "3.11", "3.12", "3.13"]
17+ cuda : ["12.4.1","12.6.3"]
18+ releasetag : ["AVX2"]
19+ cudaarch : ["all"]
4020 defaults :
4121 run :
4222 shell : pwsh
4626 CUDAARCHVER : ${{ matrix.cudaarch }}
4727 # https://cmake.org/cmake/help/latest/prop_tgt/CUDA_ARCHITECTURES.html
4828 # https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/#gpu-feature-list
49- # e.g. "all" "89"
29+ # e.g. "all" "89" "90" "100" "120"
30+ MAX_JOBS : 8
5031
5132 steps :
5233 - name : Add MSBuild to PATH
5536 with :
5637 msbuild-architecture : x64
5738
58- - uses : actions/checkout@v4
39+ - uses : actions/checkout@v5
5940 with :
6041 submodules : " recursive"
6142
@@ -82,33 +63,34 @@ jobs:
8263
8364 - name : Build Wheel
8465 run : |
85- # $cupath = 'CUDA_PATH_V' + $env:CUDAVER.Remove($env:CUDAVER.LastIndexOf('.')).Replace('.','_')
86- # echo "$cupath=$env:CONDA_PREFIX" >> $env:GITHUB_ENV
87-
8866 $cudaVersion = $env:CUDAVER.Remove($env:CUDAVER.LastIndexOf('.')).Replace('.','')
89- # $env:CUDA_PATH = $env:CONDA_PREFIX
9067 $env:CUDA_HOME = $env:CUDA_PATH
9168 $env:CUDA_TOOLKIT_ROOT_DIR = $env:CUDA_PATH
92- if ($IsLinux) {
93- $env:LD_LIBRARY_PATH = $env:CONDA_PREFIX + '/lib:' + $env:LD_LIBRARY_PATH
94- }
9569 $env:VERBOSE = '1'
96- $env:CMAKE_ARGS = '-DGGML_CUDA=on -DCMAKE_CUDA_ARCHITECTURES=' + $env:CUDAARCHVER
97- $env:CMAKE_ARGS = "-DGGML_CUDA_FORCE_MMQ=ON $env:CMAKE_ARGS"
98- $env:CMAKE_ARGS = "-DLLAMA_CURL=OFF $env:CMAKE_ARGS"
70+ $env:CMAKE_ARGS = '-DGGML_CUDA=on -DCMAKE_CUDA_ARCHITECTURES=' + $env:CUDAARCHVER + ' -DCMAKE_BUILD_PARALLEL_LEVEL=' + $env:MAX_JOBS
71+ $env:CMAKE_ARGS = "-DGGML_CUDA_FORCE_MMQ=on -DCUDA_SEPARABLE_COMPILATION=on $env:CMAKE_ARGS"
72+ $env:CMAKE_ARGS = "-DENABLE_CCACHE=on -DLLAMA_CURL=off $env:CMAKE_ARGS"
73+
9974 if ($env:AVXVER -eq 'AVX') {
10075 $env:CMAKE_ARGS = $env:CMAKE_ARGS + ' -DGGML_AVX2=off -DGGML_FMA=off -DGGML_F16C=off'
10176 }
10277 if ($env:AVXVER -eq 'AVX2') {
10378 $env:CMAKE_ARGS = $env:CMAKE_ARGS + ' -DGGML_AVX2=on -DGGML_FMA=off -DGGML_F16C=off'
10479 }
80+ # if ($env:AVXVER -eq 'AVXVNNI') {
81+ # $env:CMAKE_ARGS = $env:CMAKE_ARGS + ' -DGGML_AVX2=on -DGGML_AVX_VNNI=on -DGGML_FMA=on -DGGML_F16C=off'
82+ # }
10583 # if ($env:AVXVER -eq 'AVX512') {
10684 # $env:CMAKE_ARGS = $env:CMAKE_ARGS + ' -DGGML_AVX512=on'
10785 # }
108- # if ($env:AVXVER -eq 'basic') {
109- # $env:CMAKE_ARGS = $env:CMAKE_ARGS + ' -DGGML_AVX=off -DGGML_AVX2=off -DGGML_FMA=off -DGGML_F16C=off'
110- # }
11186 python -m build --wheel
87+
88+ # Check if wheel was built
89+ if (!(Test-Path '.\dist\*.whl')) {
90+ Write-Error "No wheel built in dist/ directory"
91+ exit 1
92+ }
93+
11294 # write the build tag to the output
11395 Write-Output "CUDA_VERSION=$cudaVersion" >> $env:GITHUB_ENV
11496
@@ -122,7 +104,9 @@ jobs:
122104 $currentDate = Get-Date -UFormat "%Y%m%d"
123105 Write-Output "BUILD_DATE=$currentDate" >> $env:GITHUB_ENV
124106
125- - uses : softprops/action-gh-release@v2.2.2
107+ - name : Create Release
108+ if : always() && env.TAG_VERSION != ''
109+ uses : softprops/action-gh-release@v2
126110 with :
127111 files : dist/*
128112 # Set tag_name to <tag>-cu<cuda_version>-<date>-win
0 commit comments