diff --git a/.github/runners/window-13.dockerfile b/.github/runners/window-13.dockerfile new file mode 100644 index 00000000000..cb439d3d9fb --- /dev/null +++ b/.github/runners/window-13.dockerfile @@ -0,0 +1,53 @@ +FROM mcr.microsoft.com/windows/server:ltsc2022 + +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop';$ProgressPreference='silentlyContinue';"] + +ARG RUNNER_VERSION=2.311.0 + +RUN Invoke-WebRequest \ + -Uri 'https://aka.ms/install-powershell.ps1' \ + -OutFile install-powershell.ps1; \ + powershell -ExecutionPolicy Unrestricted -File ./install-powershell.ps1 -AddToPath + +RUN Invoke-WebRequest \ + -Uri https://github.com/actions/runner/releases/download/v$env:RUNNER_VERSION/actions-runner-win-x64-$env:RUNNER_VERSION.zip \ + -OutFile runner.zip; \ + Expand-Archive -Path C:/runner.zip -DestinationPath C:/actions-runner; \ + Remove-Item -Path C:\runner.zip; \ + setx /M PATH $(${Env:PATH} + \";${Env:ProgramFiles}\Git\bin\") + +# Install Chocolatey +RUN Set-ExecutionPolicy Bypass -Scope Process -Force; \ + [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; \ + Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) + +# Upgrade Git +RUN choco install git -y; \ + git --version + +# Install 7zip +RUN choco install 7zip -y; \ + 7z --help + +# Install cmake and add to path +RUN choco install cmake.install -y --installargs '"ADD_CMAKE_TO_PATH=System"' + +RUN cmake --version + +# Install MSBuild and add to path +RUN choco install visualstudio2022buildtools -y --package-parameters '"--add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows10SDK.19041 --add Microsoft.VisualStudio.Component.VC.14.29.CLI.Support --add Microsoft.VisualStudio.Component.VC.14.29.CMake.Project --add Microsoft.VisualStudio.Component.VC.14.29.MFC --add Microsoft.VisualStudio.Component.VC.14.29.MSBuild --add Microsoft.VisualStudio.Component.VC.14.29.VCRedist.x86.x64 --add Microsoft.VisualStudio.Component.VC.14.29.VSTools.x86.x64 --add Microsoft.VisualStudio.Component.VC.14.29.VC.ASAN --add Microsoft.VisualStudio.Component.VC.14.29.VC.CLI.Support --add Microsoft.VisualStudio.Component.VC.14.29.VC.CMake.Project --add Microsoft.VisualStudio.Component.VC.14.29.VC.FxCop --add Microsoft.VisualStudio.Component.VC.14.29.VC.MFC --add Microsoft.VisualStudio.Component.VC.14.29.VC.MSBuild --add Microsoft.VisualStudio.Component.VC.14.29.VC.Redist.14.Latest --add Microsoft.VisualStudio.Component.VC.14.29.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.VC.14.29.VC.VCUnitTest --add Microsoft.VisualStudio.Component.VC.14.29.VC.x86.x64 --add Microsoft.VisualStudio.Component.VC.14.29.VC.x86.x64.Latest --add Microsoft.VisualStudio.Component.VC.14.29.VisualStudioCppSDK --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Win81 --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Win10 --add Microsoft.VisualStudio.Component.Windows10SDK.19041 --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.LegacyBuildTools --add Microsoft.VisualStudio.Component.VC.ATL --add Microsoft.VisualStudio.Component.VC.CLI.Support --add Microsoft.VisualStudio.Component.VC.CoreIde --add Microsoft.VisualStudio.Component.VC.DiagnosticTools --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.VC.Llvm.Cmake --add Microsoft.VisualStudio.Component.VC.Llvm.Llvm --add Microsoft.VisualStudio.Component.VC.Llvm.Toolset --add Microsoft.VisualStudio.Component.VC.MFC --add Microsoft.VisualStudio.Component.VC.MSBuild --add Microsoft.VisualStudio"' + +RUN choco install gzip -y; + +# Install CUDA Toolkit 13.0.2 directly from NVIDIA +RUN Invoke-WebRequest -Uri 'https://developer.download.nvidia.com/compute/cuda/13.0.2/local_installers/cuda_13.0.2_windows.exe' -OutFile cuda_installer.exe; \ + Start-Process -FilePath .\cuda_installer.exe -ArgumentList '-s' -Wait -NoNewWindow; \ + Remove-Item -Path .\cuda_installer.exe + +# Copy integrated tools to MSBuild +RUN Copy-Item -Path 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\extras\visual_studio_integration\MSBuildExtensions\*' -Destination 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Microsoft\VC\v170\BuildCustomizations' + +ADD runner.ps1 C:/runner.ps1 +SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] +ENTRYPOINT ["C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\Common7\\Tools\\VsDevCmd.bat", "-arch=amd64", "&&", "powershell.exe", "-NoLogo", "-ExecutionPolicy", "Bypass"] +CMD ["powershell.exe", "-ExecutionPolicy", "Unrestricted", "-File", ".\\runner.ps1"] \ No newline at end of file diff --git a/.github/workflows/menlo-build.yml b/.github/workflows/menlo-build.yml index 97b14e488ff..8047b702ba9 100644 --- a/.github/workflows/menlo-build.yml +++ b/.github/workflows/menlo-build.yml @@ -56,7 +56,7 @@ jobs: build-and-test: runs-on: ${{ matrix.runs-on }} - needs: [create-draft-release] + # needs: [create-draft-release] timeout-minutes: 270 strategy: fail-fast: false @@ -342,6 +342,14 @@ jobs: vulkan: false ccache: true ccache-dir: 'C:\Users\ContainerAdministrator\AppData\Local\ccache' + - os: "win" + name: "cuda-13-common_cpus-x64" + runs-on: "windows-cuda-13-0" + cmake-flags: "-DLLAMA_CURL=OFF -DGGML_CUDA=ON -DGGML_NATIVE=OFF -DCMAKE_CUDA_ARCHITECTURES='75;80;86;87;89;120;121' -DGGML_BACKEND_DL=ON -DGGML_CPU_ALL_VARIANTS=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE='Release' -GNinja" + run-e2e: false + vulkan: false + ccache: true + ccache-dir: 'C:\Users\ContainerAdministrator\AppData\Local\ccache' - os: "win" name: "vulkan-common_cpus-x64" runs-on: "windows-cuda-11-7" @@ -592,6 +600,7 @@ jobs: wget https://minio.menlo.ai:9000/cicd/dist/cuda-dependencies/13.0/linux/cuda.tar.gz -O /tmp/cudart-llama-bin-linux-cu13.0-x64.tar.gz wget https://minio.menlo.ai:9000/cicd/dist/cuda-dependencies/12.0/linux/cuda.tar.gz -O /tmp/cudart-llama-bin-linux-cu12.0-x64.tar.gz wget https://minio.menlo.ai:9000/cicd/dist/cuda-dependencies/11.7/linux/cuda.tar.gz -O /tmp/cudart-llama-bin-linux-cu11.7-x64.tar.gz + wget https://minio.menlo.ai:9000/cicd/dist/cuda-dependencies/13.0/windows/cuda.tar.gz -O /tmp/cudart-llama-bin-win-cu13.0-x64.tar.gz wget https://minio.menlo.ai:9000/cicd/dist/cuda-dependencies/12.0/windows/cuda.tar.gz -O /tmp/cudart-llama-bin-win-cu12.0-x64.tar.gz wget https://minio.menlo.ai:9000/cicd/dist/cuda-dependencies/11.7/windows/cuda.tar.gz -O /tmp/cudart-llama-bin-win-cu11.7-x64.tar.gz @@ -634,6 +643,12 @@ jobs: echo " sha512: >-" >> checksum.yml echo " $(sha512sum /tmp/cudart-llama-bin-win-cu12.0-x64.tar.gz | awk '{ print $1 }')" >> checksum.yml echo " size: $(stat -c%s /tmp/cudart-llama-bin-win-cu12.0-x64.tar.gz)" >> checksum.yml + + echo "- url: cudart-llama-bin-win-cu13.0-x64.tar.gz" >> checksum.yml + echo " sha512: >-" >> checksum.yml + echo " $(sha512sum /tmp/cudart-llama-bin-win-cu13.0-x64.tar.gz | awk '{ print $1 }')" >> checksum.yml + echo " size: $(stat -c%s /tmp/cudart-llama-bin-win-cu13.0-x64.tar.gz)" >> checksum.yml + cat checksum.yml - name: Upload checksum.yml to GitHub Release @@ -680,6 +695,17 @@ jobs: asset_name: cudart-llama-bin-linux-cu11.7-x64.tar.gz asset_content_type: application/gzip + - name: upload cudart-llama-bin-win-cu13.0-x64.tar.gz to Github Release + uses: actions/upload-release-asset@v1 + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ needs.create-draft-release.outputs.upload_url }} + asset_path: /tmp/cudart-llama-bin-win-cu13.0-x64.tar.gz + asset_name: cudart-llama-bin-win-cu13.0-x64.tar.gz + asset_content_type: application/gzip + - name: upload cudart-llama-bin-win-cu12.0-x64.tar.gz to Github Release uses: actions/upload-release-asset@v1 if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')