Browse Source
ci: rocm parallel builds on windows (#11187 )
The preset CMAKE_HIP_FLAGS isn't getting used on Windows.
This passes the parallel flag in through the C/CXX flags, along
with suppression for some log spew warnings to quiet down the build.
mxyng/cleanup
Daniel Hiltgen
9 months ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with
11 additions and
4 deletions
.github/workflows/release.yaml
.github/workflows/test.yaml
scripts/build_windows.ps1
@ -108,11 +108,13 @@ jobs:
preset : 'CUDA 12'
install : https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda_12.8.0_571.96_windows.exe
cuda-version : '12.8'
flags : ''
- os : windows
arch : amd64
preset : 'ROCm 6'
install : https://download.amd.com/developer/eula/rocm-hub/AMD-Software-PRO-Edition-24.Q4-WinSvr2022-For-HIP.exe
rocm-version : '6.2'
flags : '-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_FLAGS="-parallel-jobs=4 -Wno-ignored-attributes -Wno-deprecated-pragma" -DCMAKE_CXX_FLAGS="-parallel-jobs=4 -Wno-ignored-attributes -Wno-deprecated-pragma"'
runs-on : ${{ matrix.arch == 'arm64' && format('{0}-{1}', matrix.os, matrix.arch) || matrix.os }}
environment : release
env:
@ -178,7 +180,7 @@ jobs:
run : |
Import-Module 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\Microsoft.VisualStudio.DevShell.dll'
Enter-VsDevShell -VsInstallPath 'C:\Program Files\Microsoft Visual Studio\2022\Enterprise' -SkipAutomaticLocation -DevCmdArguments '-arch=x64 -no_logo'
cmake --preset "${{ matrix.preset }}"
cmake --preset "${{ matrix.preset }}" ${{ matrix.flags }}
cmake --build --parallel --preset "${{ matrix.preset }}"
cmake --install build --component "${{ startsWith(matrix.preset, 'CUDA ') && 'CUDA' || startsWith(matrix.preset, 'ROCm ') && 'HIP' || 'CPU' }}" --strip --parallel 8
env:
@ -82,7 +82,7 @@ jobs:
flags : '-DCMAKE_CUDA_ARCHITECTURES=80'
- preset : ROCm
install : https://download.amd.com/developer/eula/rocm-hub/AMD-Software-PRO-Edition-24.Q4-WinSvr2022-For-HIP.exe
flags : '-DAMDGPU_TARGETS=gfx1010'
flags : '-DAMDGPU_TARGETS=gfx1010 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_FLAGS="-parallel-jobs=4 -Wno-ignored-attributes -Wno-deprecated-pragma" -DCMAKE_CXX_FLAGS="-parallel-jobs=4 -Wno-ignored-attributes -Wno-deprecated-pragma" '
runs-on : windows
steps:
- run : |
@ -113,12 +113,17 @@ function buildOllama() {
$env:HIPCXX = " $ {env:HIP_PATH}\bin\clang++.exe "
$env:HIP_PLATFORM = " amd "
$env:CMAKE_PREFIX_PATH = " $ {env:HIP_PATH} "
& cmake - -fresh - -preset " ROCm 6 " -G Ninja -DCMAKE_C_COMPILER = clang -DCMAKE_CXX_COMPILER = clang + + - -install -prefix $script:DIST_DIR
& cmake - -fresh - -preset " ROCm 6 " -G Ninja `
-DCMAKE_C_COMPILER = clang `
-DCMAKE_CXX_COMPILER = clang + + `
-DCMAKE_C_FLAGS = " -parallel-jobs=4 -Wno-ignored-attributes -Wno-deprecated-pragma " `
-DCMAKE_CXX_FLAGS = " -parallel-jobs=4 -Wno-ignored-attributes -Wno-deprecated-pragma " `
- -install -prefix $script:DIST_DIR
if ( $LASTEXITCODE -ne 0 ) { exit ( $LASTEXITCODE ) }
$env:HIPCXX = " "
$env:HIP_PLATFORM = " "
$env:CMAKE_PREFIX_PATH = " "
& cmake - -build - -preset " ROCm " - -config Release - -parallel $script:JOBS
& cmake - -build - -preset " ROCm 6 " - -config Release - -parallel $script:JOBS
if ( $LASTEXITCODE -ne 0 ) { exit ( $LASTEXITCODE ) }
& cmake - -install build - -component " HIP " - -strip
if ( $LASTEXITCODE -ne 0 ) { exit ( $LASTEXITCODE ) }