aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Scholz <Green-Sky@users.noreply.github.com>2023-05-05 22:56:09 +0200
committerGitHub <noreply@github.com>2023-05-05 22:56:09 +0200
commita3b85b28da84c67c3406807aef5e0457bcc4b00f (patch)
treeca09826caac0d365fd90ca48b03acd946ffc3b95
parent921dcee00a55d9aba3b3026d0509d31ac8386e2a (diff)
ci : add cublas to windows release (#1271)
-rw-r--r--.github/workflows/build.yml77
1 files changed, 77 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 1790805..18bb33f 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -210,6 +210,82 @@ jobs:
path: |
llama-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-win-${{ matrix.build }}-x64.zip
+ windows-latest-cmake-cublas:
+ runs-on: windows-latest
+
+ strategy:
+ matrix:
+ cuda: ['12.1.0', '11.7.1']
+ build: ['cublas']
+
+ steps:
+ - name: Clone
+ id: checkout
+ uses: actions/checkout@v1
+
+ - uses: Jimver/cuda-toolkit@v0.2.10
+ id: cuda-toolkit
+ with:
+ cuda: ${{ matrix.cuda }}
+ # TODO(green-sky): _dev seems to fail, and non dev are not enought
+ #sub-packages: '["nvcc", "cudart", "cublas", "cudart_dev", "cublas_dev"]'
+
+ - name: Build
+ id: cmake_build
+ run: |
+ mkdir build
+ cd build
+ cmake .. -DLLAMA_CUBLAS=ON
+ cmake --build . --config Release
+
+ - name: Get commit hash
+ id: commit
+ if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
+ uses: pr-mpt/actions-commit-hash@v2
+
+ - name: Pack artifacts
+ id: pack_artifacts
+ if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
+ run: |
+ 7z a llama-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-win-${{ matrix.build }}-cu${{ matrix.cuda }}-x64.zip .\build\bin\Release\*
+
+ - name: Upload artifacts
+ if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
+ uses: actions/upload-artifact@v3
+ with:
+ path: |
+ llama-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-win-${{ matrix.build }}-cu${{ matrix.cuda }}-x64.zip
+
+ - name: Copy and pack Cuda runtime
+ if: ${{ matrix.cuda == '12.1.0' }}
+ # TODO(green-sky): paths are cuda 12 specific
+ run: |
+ echo "Cuda install location: ${{steps.cuda-toolkit.outputs.CUDA_PATH}}"
+ mkdir '.\build\bin\cudart\'
+ cp "${{steps.cuda-toolkit.outputs.CUDA_PATH}}\bin\cudart64_12.dll" '.\build\bin\cudart\'
+ cp "${{steps.cuda-toolkit.outputs.CUDA_PATH}}\bin\cublas64_12.dll" '.\build\bin\cudart\'
+ cp "${{steps.cuda-toolkit.outputs.CUDA_PATH}}\bin\cublasLt64_12.dll" '.\build\bin\cudart\'
+ 7z a cudart-llama-bin-win-cu${{ matrix.cuda }}-x64.zip .\build\bin\cudart\*
+
+ - name: Copy and pack Cuda runtime
+ if: ${{ matrix.cuda == '11.7.1' }}
+ # TODO(green-sky): paths are cuda 11 specific
+ run: |
+ echo "Cuda install location: ${{steps.cuda-toolkit.outputs.CUDA_PATH}}"
+ mkdir '.\build\bin\cudart\'
+ ls "${{steps.cuda-toolkit.outputs.CUDA_PATH}}\bin"
+ cp "${{steps.cuda-toolkit.outputs.CUDA_PATH}}\bin\cudart64_110.dll" '.\build\bin\cudart\'
+ cp "${{steps.cuda-toolkit.outputs.CUDA_PATH}}\bin\cublas64_11.dll" '.\build\bin\cudart\'
+ cp "${{steps.cuda-toolkit.outputs.CUDA_PATH}}\bin\cublasLt64_11.dll" '.\build\bin\cudart\'
+ 7z a cudart-llama-bin-win-cu${{ matrix.cuda }}-x64.zip .\build\bin\cudart\*
+
+ - name: Upload Cuda runtime
+ if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
+ uses: actions/upload-artifact@v3
+ with:
+ path: |
+ cudart-llama-bin-win-cu${{ matrix.cuda }}-x64.zip
+
release:
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
@@ -221,6 +297,7 @@ jobs:
- macOS-latest-make
- macOS-latest-cmake
- windows-latest-cmake
+ - windows-latest-cmake-cublas
steps:
- name: Download artifacts