diff options
Diffstat (limited to '.github/workflows')
| -rw-r--r-- | .github/workflows/build.yml | 77 | 
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 | 
