Repository navigation
ci: add ROCm version and CK inputs to the TheRock workflow dispatch - #567
Merged
Merged
Conversation
Build ROCm Examples and Nightly CI can only be dispatched against the latest nightly and never build the Composable Kernel examples, so there is no way to check CK changes against a specific ROCm, e.g. a release candidate, in CI. - build-rocm-examples-reusable.yml: new enable_ck input (default false) that sets ENABLE_CK for every install method. An rc rocm_version (e.g. 10.2.0rc0) without an explicit wheels_url/tarballs_url installs from the release candidate index (rc.repo.amd.com) instead of the nightly one. - ci_therock.yml, ci_nightly.yml: new rocm_version and enable_ck dispatch inputs, passed to the reusable workflow. With a rocm_version, the stable_release image is left out, as in the Quartz workflow, because it cannot install another ROCm. Push, pull_request, schedule and Quartz runs pass neither input and are unchanged. Co-Authored-By: Claude <noreply@anthropic.com>
4 of 8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Build ROCm Examples (
ci_therock.yml) and Nightly CI (ci_nightly.yml) can only be dispatched against the latest TheRock nightly, and they never build the Composable Kernel examples: the tarball and wheel setups leaveENABLE_CKunset and the preinstalled one sets it toOFF. The only workflow that builds CK, Build Libraries, is pinned to the ROCm 10.1 image. So a CK change cannot be checked in CI against a specific ROCm, e.g. a release candidate. #565 (CK sync with 10.2.0rc0) is an example: its Build Libraries run compiles the 10.2 examples against 10.1's CK and fails for that reason alone.Technical Details
build-rocm-examples-reusable.ymlenable_ckinput (boolean, defaultfalse). A new "Set CK build flag" step writesENABLE_CK=ON|OFFfor every install method, replacing the hard-codedENABLE_CK=OFFof the preinstalled setup.rocm_versionalready pins a nightly (Quartz uses it). An rc version such as10.2.0rc0, without an explicitwheels_url/tarballs_url, now installs from the release candidate index (https://rc.repo.amd.com/rocm/core/tarball/,https://rc.repo.amd.com/rocm/core/whl-next/) instead of the nightly one.ci_therock.yml,ci_nightly.yml: newrocm_version(string, empty = latest nightly) andenable_ck(boolean) dispatch inputs, passed to the reusable workflow. With arocm_version,configure_ci.pygets--exclude-preinstalled, as inquartz_test.yml, because thestable_releaseimage cannot install another ROCm.Push, pull_request, schedule and Quartz runs pass neither input and are unchanged.
Note: TheRock's Python wheels currently do not include Composable Kernel. The 10.2.0rc0
rocm-sdk-develwheel has nock/ck_tileheaders and nocomposable_kernelCMake package, and therocmmeta-package has no other component that provides it. Withinstall_method=whl-multi-arch,enable_ck=trueturns the flag on, butLibraries/ComposableKernelskips itself ("Composable Kernel could not be found"). To build CK, useinstall_method=tarball-multi-arch; the tarballs ship CK.Example, for a CK branch that contains this change:
Test Plan
rocm_version=10.2.0rc0,enable_ck=true, gfx1100, Ubuntu 24.04, both install methods: run 41123640840.Test Result
rocm==10.2.0rc0fromhttps://rc.repo.amd.com/rocm/core/whl-next/, setROCM_EXAMPLES_ENABLE_CK=ON, and ctest passed 371/371. As expected without CK in the wheels (see the note above),Libraries/ComposableKernelreported "Composable Kernel could not be found" and built nothing.amd-staging's, which do not compile against 10.2.0rc0's CK (ck: sync ck_tile examples with ROCm 10.1 #552, ck: sync ck_tile examples with ROCm 10.2.0rc0 #565), so this job is expected to fail in the CK build; what it shows is that the rc tarball installs and the CK examples are configured.Added/Updated documentation?
Included Visual Studio files?
Submission Checklist
🤖 Generated with Claude Code