2222
2323jobs :
2424 cuda :
25+ name : windows-cuda (${{ matrix.cuda }}, ${{ matrix.arch }})
2526 runs-on : windows-2022
2627
2728 permissions :
2829 actions : write
2930
3031 strategy :
3132 matrix :
32- cuda : ['12.4', '13.3']
33+ include :
34+ - cuda : ' 12.4'
35+ arch : x64
36+ defines : ' -DGGML_CUDA_CUB_3DOT2=ON'
37+ - cuda : ' 13.3'
38+ arch : x64
39+ defines : ' '
40+ - cuda : ' 13.4'
41+ arch : arm64
42+ defines : ' -DCMAKE_TOOLCHAIN_FILE=cmake/arm64-windows-msvc-cuda.cmake'
3343
3444 steps :
3545 - name : Clone
@@ -39,12 +49,13 @@ jobs:
3949 - name : ccache
4050 uses : ggml-org/ccache-action@v1.2.21
4151 with :
42- key : release-windows-2022-x64 -cuda-${{ matrix.cuda }}
52+ key : release-windows-2022-${{ matrix.arch }} -cuda-${{ matrix.cuda }}
4353
4454 - name : Install Cuda Toolkit
4555 uses : ./.github/actions/windows-setup-cuda
4656 with :
4757 cuda_version : ${{ matrix.cuda }}
58+ cuda_arch : ${{ matrix.arch }}
4859
4960 - name : Install Ninja
5061 id : install_ninja
@@ -54,26 +65,21 @@ jobs:
5465 - name : Build
5566 id : cmake_build
5667 shell : cmd
57- # TODO: Remove GGML_CUDA_CUB_3DOT2 flag once CCCL 3.2 is bundled within CTK and that CTK version is used in this project
5868 run : |
59- call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
69+ call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{ matrix.arch == ' x64' && 'x64' || 'amd64_arm64' }}
6070 cmake -S . -B build -G "Ninja Multi-Config" ^
61- -DLLAMA_BUILD_SERVER=ON ^
62- -DLLAMA_BUILD_BORINGSSL=ON ^
63- -DGGML_NATIVE=OFF ^
6471 -DGGML_BACKEND_DL=ON ^
65- -DGGML_CPU_ALL_VARIANTS=ON ^
72+ -DGGML_NATIVE=OFF ^
73+ -DGGML_CPU=OFF ^
6674 -DGGML_CUDA=ON ^
67- -DGGML_RPC=ON ^
68- -DGGML_CUDA_CUB_3DOT2=ON
75+ -DLLAMA_BUILD_BORINGSSL=ON ${{ matrix.defines }}
6976 set /A NINJA_JOBS=%NUMBER_OF_PROCESSORS%-1
70- cmake --build build --config Release -j %NINJA_JOBS% -t ggml
71- cmake --build build --config Release
77+ cmake --build build --config Release -j %NINJA_JOBS% --target ggml-cuda
7278
7379 - name : ccache-clear
7480 uses : ./.github/actions/ccache-clear
7581 with :
76- key : release-windows-2022-x64 -cuda-${{ matrix.cuda }}
82+ key : release-windows-2022-${{ matrix.arch }} -cuda-${{ matrix.cuda }}
7783
7884 hip :
7985 runs-on : windows-2022
0 commit comments