0c4d08f38d
Although the value is correct; there is no source of truth between kernel and userspace. This leads to problems if the kernel has strict restrictions (such as kernel 6.17 or earlier). The restrictions were lifted in 6.17.9 and and 6.18, but there is no guarantee userspace is using this. So short term this value will be wrong. But on newer kernels the kernel will communicate the right size and rocr-runtime will be adjusted to use that. Link: https://github.com/ROCm/TheRock/pull/2505 Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
158 lines
5.6 KiB
YAML
158 lines
5.6 KiB
YAML
name: TheRock CI Windows
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
cmake_options:
|
|
type: string
|
|
project_to_test:
|
|
type: string
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
therock-build-windows:
|
|
name: Build Windows Packages
|
|
runs-on: azure-windows-scale-rocm
|
|
outputs:
|
|
AMDGPU_FAMILIES: ${{ env.AMDGPU_FAMILIES }}
|
|
permissions:
|
|
contents: read
|
|
id-token: write
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
env:
|
|
BUILD_DIR: B:\build
|
|
CCACHE_DIR: "${{ github.workspace }}/.container-cache/ccache"
|
|
CCACHE_MAXSIZE: "700M"
|
|
# TODO(geomin12): Add matrix of families
|
|
# To get a fast signal of windows building for TheRock, adding gfx110X
|
|
AMDGPU_FAMILIES: "gfx110X-dgpu"
|
|
steps:
|
|
- name: "Checking out repository for rocm-systems"
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
|
|
- name: Checkout TheRock repository
|
|
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
|
with:
|
|
repository: "ROCm/TheRock"
|
|
path: "TheRock"
|
|
ref: d76278526218def9fb1b016bc9e421738cb4f8f6 # 2025-12-09 commit
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
|
with:
|
|
python-version: '3.12'
|
|
|
|
- name: Install python deps
|
|
run: |
|
|
pip install -r TheRock/requirements.txt
|
|
|
|
- name: Patch rocm-systems
|
|
run: |
|
|
# Remove patches here if they cannot be applied cleanly, and they have not been deleted from TheRock repo
|
|
# rm ./TheRock/patches/amd-mainline/rocm-systems/*.patch
|
|
rm ./TheRock/patches/amd-mainline/rocm-systems/0002-Revert-hsakmt-bump-vgpr-count-for-gfx1151-1807.patch
|
|
git -c user.name="therockbot" -c "user.email=therockbot@amd.com" am --whitespace=nowarn ./TheRock/patches/amd-mainline/rocm-systems/*.patch
|
|
|
|
- name: Install requirements
|
|
run: |
|
|
choco install --no-progress -y ccache
|
|
# ninja pinned due to a bug in the 1.13.0 release:
|
|
# https://github.com/ninja-build/ninja/issues/2616
|
|
choco install --no-progress -y ninja --version 1.12.1
|
|
choco install --no-progress -y strawberryperl
|
|
echo "$PATH;C:\Strawberry\c\bin" >> $GITHUB_PATH
|
|
choco install --no-progress -y awscli
|
|
echo "$PATH;C:\Program Files\Amazon\AWSCLIV2" >> $GITHUB_PATH
|
|
|
|
- uses: iterative/setup-dvc@4bdfd2b0f6f1ad7e08afadb03b1a895c352a5239 # v2.0.0
|
|
with:
|
|
version: '3.62.0'
|
|
|
|
# After other installs, so MSVC get priority in the PATH.
|
|
- name: Configure MSVC
|
|
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0
|
|
|
|
- name: Runner health status
|
|
run: |
|
|
ccache --zero-stats
|
|
python ./TheRock/build_tools/health_status.py
|
|
|
|
- name: Fetch sources
|
|
timeout-minutes: 30
|
|
run: |
|
|
git config --global core.longpaths true
|
|
python ./TheRock/build_tools/fetch_sources.py --jobs 12 --no-include-rocm-systems --no-include-rocm-libraries --no-include-ml-frameworks
|
|
dvc pull
|
|
|
|
- name: Configure Projects
|
|
env:
|
|
amdgpu_families: ${{ env.AMDGPU_FAMILIES }}
|
|
package_version: "ADHOCBUILD"
|
|
extra_cmake_options: "-DTHEROCK_ROCM_SYSTEMS_SOURCE_DIR=../ ${{ inputs.cmake_options }}"
|
|
run: |
|
|
# clear cache before build and after download
|
|
ccache -z
|
|
python TheRock/build_tools/github_actions/build_configure.py
|
|
|
|
- name: Build therock-dist
|
|
run: cmake --build "${{ env.BUILD_DIR }}" --target therock-dist
|
|
|
|
- name: Build therock-archives
|
|
run: cmake --build "${{ env.BUILD_DIR }}" --target therock-archives
|
|
|
|
- name: Report
|
|
if: ${{ !cancelled() }}
|
|
run: |
|
|
echo "Build dir:"
|
|
echo "------------"
|
|
ls -lh "${{ env.BUILD_DIR }}"
|
|
echo "Artifact Archives:"
|
|
echo "------------------"
|
|
ls -lh "${{ env.BUILD_DIR }}"/artifacts/*.tar.xz
|
|
echo "Artifacts:"
|
|
echo "----------"
|
|
du -h -d 1 "${{ env.BUILD_DIR }}"/artifacts
|
|
echo "CCache Stats:"
|
|
echo "-------------"
|
|
ccache -s
|
|
|
|
- name: "Build size report"
|
|
if: always()
|
|
shell: powershell
|
|
run: |
|
|
$fs = Get-PSDrive -PSProvider "FileSystem"
|
|
$fsout = $fs | Select-Object -Property Name,Used,Free,Root
|
|
$fsout | % {$_.Used/=1GB;$_.Free/=1GB;$_} | Write-Host
|
|
get-disk | Select-object @{Name="Size(GB)";Expression={$_.Size/1GB}} | Write-Host
|
|
|
|
- name: Configure AWS Credentials
|
|
if: ${{ always() && !github.event.pull_request.head.repo.fork }}
|
|
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
|
|
with:
|
|
aws-region: us-east-2
|
|
role-to-assume: arn:aws:iam::692859939525:role/therock-ci-external
|
|
special-characters-workaround: true
|
|
|
|
- name: Post Build Upload
|
|
if: always()
|
|
run: |
|
|
python TheRock/build_tools/github_actions/post_build_upload.py \
|
|
--run-id ${{ github.run_id }} \
|
|
--artifact-group ${{ env.AMDGPU_FAMILIES }} \
|
|
--build-dir ${{ env.BUILD_DIR }} \
|
|
--upload
|
|
|
|
therock-test-windows:
|
|
name: "Test"
|
|
needs: [therock-build-windows]
|
|
uses: ./.github/workflows/therock-test-packages.yml
|
|
with:
|
|
project_to_test: ${{ inputs.project_to_test }}
|
|
amdgpu_families: ${{ needs.therock-build-windows.outputs.AMDGPU_FAMILIES }}
|
|
test_runs_on: "windows-strix-halo-gpu-rocm"
|
|
platform: "windows"
|