Skip to content

[CK] Add rocm_ck directory structure with feature flag - #7090

Merged
aosewski merged 5 commits into
developfrom
users/shumway/ck/rocm-ck-dirs
May 14, 2026
Merged

[CK] Add rocm_ck directory structure with feature flag#7090
aosewski merged 5 commits into
developfrom
users/shumway/ck/rocm-ck-dirs

Conversation

@shumway

@shumway shumway commented May 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds initial rocm_ck directory structure, #7119.

  • Establishes production rocm_ck/ directory at composablekernel/rocm_ck/, peer to tile_engine/ and dispatcher/
  • Adds CK_ENABLE_ROCM_CK option (default OFF) as a CK-internal feature flag — no superbuild or TheRock changes needed
  • Creates rocm_ck INTERFACE library, ck_tile_headers target, GTest integration with builder-style convenience targets (smoke-rocm-ck, check-rocm-ck)
  • Adds Jenkins RUN_ROCM_CK_TESTS parameter for CI, following the RUN_BUILDER_TESTS pattern
  • README explains the constexpr schema model: host-device separation via constexpr data rather than template parameters, enabling multi-arch distribution through kpack archives

Test plan

  • cmake -DCK_ENABLE_ROCM_CK=ON configures without errors
  • ninja check-rocm-ck passes (4 host-only index type tests)
  • Default build (CK_ENABLE_ROCM_CK=OFF) is unaffected — no rocm_ck targets present
  • Jenkins RUN_ROCM_CK_TESTS=true enables the flag and runs check-rocm-ck

🤖 Generated with Claude Code

@shumway
shumway requested a review from a team as a code owner May 5, 2026 22:55
@shumway
shumway force-pushed the users/shumway/ck/rocm-ck-dirs branch 2 times, most recently from 698a4b0 to 0230b22 Compare May 5, 2026 23:03
@shumway
shumway force-pushed the users/shumway/ck/rocm-ck-dirs branch 2 times, most recently from 2afddd7 to a87e201 Compare May 6, 2026 08:12
@chris-tsiaousis-hpc
chris-tsiaousis-hpc self-requested a review May 6, 2026 08:47
@shumway
shumway force-pushed the users/shumway/ck/rocm-ck-dirs branch 2 times, most recently from 86b59b2 to f4a98df Compare May 7, 2026 03:46
@shumway shumway linked an issue May 7, 2026 that may be closed by this pull request

@chris-tsiaousis-hpc chris-tsiaousis-hpc left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thanks for starting this (and starting it this way). Added some considerations but you can view them as NITs.

Comment thread projects/composablekernel/rocm_ck/tests/CMakeLists.txt Outdated
Comment thread projects/composablekernel/rocm_ck/tests/CMakeLists.txt Outdated
Comment thread projects/composablekernel/rocm_ck/README.md Outdated
@shumway
shumway force-pushed the users/shumway/ck/rocm-ck-dirs branch from f4a98df to 56d5aef Compare May 7, 2026 14:34

@shumway shumway left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the carful review. I followed up on each of your comments, they were helpful!

Comment thread projects/composablekernel/rocm_ck/tests/CMakeLists.txt Outdated
Comment thread projects/composablekernel/rocm_ck/tests/CMakeLists.txt Outdated
Comment thread projects/composablekernel/rocm_ck/README.md Outdated
shumway and others added 4 commits May 8, 2026 03:57
…tion

Establish the production rocm_ck directory at composablekernel/rocm_ck/,
peer to tile_engine/ and dispatcher/. rocm_ck is a constexpr schema API
over CK Tile device kernels, enabling host-device separation for
multi-architecture distribution.

- Add CK_ENABLE_ROCM_CK option (default OFF) gating add_subdirectory
- Create INTERFACE library (rocm_ck) and ck_tile_headers target
- Add GTest integration with builder-style convenience targets
  (smoke-rocm-ck, check-rocm-ck)
- Add index_t.hpp with unit test verifying type compatibility with ck_tile
- Enable RUN_ROCM_CK_TESTS by default in Jenkins (ON in CI, OFF in CMake)
- Add README documenting the constexpr schema model and kpack workflow

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Set C++20 on rocm_ck INTERFACE library so all consumers inherit it
- Use full relative paths in test list with get_filename_component
- Simplify README directory tree to dir-level descriptions

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The global `check` target runs CTest without label filtering, which
discovers rocm_ck tests registered via add_test(). But `check` had no
dependency on the rocm_ck build targets, so the test executables were
never compiled — CTest failed with "Could not find executable."

Add build-smoke-rocm-ck as a dependency of check when CK_ENABLE_ROCM_CK
is enabled.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@shumway
shumway force-pushed the users/shumway/ck/rocm-ck-dirs branch from 23b0ea7 to f11ed26 Compare May 8, 2026 03:59

@chris-tsiaousis-hpc chris-tsiaousis-hpc left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thanks for addressing my comments!

CK's -Weverything flag enables -Wc++20-compat, which warns about
consteval being incompatible with pre-C++20 — irrelevant since rocm_ck
requires C++20. With -Werror this becomes a hard failure on Jenkins.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@aosewski
aosewski enabled auto-merge (squash) May 8, 2026 13:46
@aosewski
aosewski merged commit 316fded into develop May 14, 2026
29 checks passed
@aosewski
aosewski deleted the users/shumway/ck/rocm-ck-dirs branch May 14, 2026 18:51
assistant-librarian Bot pushed a commit to ROCm/composable_kernel that referenced this pull request May 14, 2026
[CK] Add rocm_ck directory structure with feature flag
 (#7090)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

## Summary

Adds initial rocm_ck directory structure, #7119.

- Establishes production `rocm_ck/` directory at
`composablekernel/rocm_ck/`, peer to `tile_engine/` and `dispatcher/`
- Adds `CK_ENABLE_ROCM_CK` option (default OFF) as a CK-internal feature
flag — no superbuild or TheRock changes needed
- Creates `rocm_ck` INTERFACE library, `ck_tile_headers` target, GTest
integration with builder-style convenience targets (`smoke-rocm-ck`,
`check-rocm-ck`)
- Adds Jenkins `RUN_ROCM_CK_TESTS` parameter for CI, following the
`RUN_BUILDER_TESTS` pattern
- README explains the constexpr schema model: host-device separation via
constexpr data rather than template parameters, enabling multi-arch
distribution through kpack archives

## Test plan

- [x] `cmake -DCK_ENABLE_ROCM_CK=ON` configures without errors
- [x] `ninja check-rocm-ck` passes (4 host-only index type tests)
- [x] Default build (`CK_ENABLE_ROCM_CK=OFF`) is unaffected — no rocm_ck
targets present
- [x] Jenkins `RUN_ROCM_CK_TESTS=true` enables the flag and runs
`check-rocm-ck`

🤖 Generated with [Claude Code](https://claude.com/claude-code)
aledudek pushed a commit that referenced this pull request May 20, 2026
## Summary

Adds initial rocm_ck directory structure, #7119.

- Establishes production `rocm_ck/` directory at
`composablekernel/rocm_ck/`, peer to `tile_engine/` and `dispatcher/`
- Adds `CK_ENABLE_ROCM_CK` option (default OFF) as a CK-internal feature
flag — no superbuild or TheRock changes needed
- Creates `rocm_ck` INTERFACE library, `ck_tile_headers` target, GTest
integration with builder-style convenience targets (`smoke-rocm-ck`,
`check-rocm-ck`)
- Adds Jenkins `RUN_ROCM_CK_TESTS` parameter for CI, following the
`RUN_BUILDER_TESTS` pattern
- README explains the constexpr schema model: host-device separation via
constexpr data rather than template parameters, enabling multi-arch
distribution through kpack archives

## Test plan

- [x] `cmake -DCK_ENABLE_ROCM_CK=ON` configures without errors
- [x] `ninja check-rocm-ck` passes (4 host-only index type tests)
- [x] Default build (`CK_ENABLE_ROCM_CK=OFF`) is unaffected — no rocm_ck
targets present
- [x] Jenkins `RUN_ROCM_CK_TESTS=true` enables the flag and runs
`check-rocm-ck`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Max Podkorytov <4273004+tenpercent@users.noreply.github.com>
shumway added a commit to ROCm/composable_kernel that referenced this pull request May 27, 2026
[CK] Add rocm_ck directory structure with feature flag (#7090)

## Summary

Adds initial rocm_ck directory structure, #7119.

- Establishes production `rocm_ck/` directory at
`composablekernel/rocm_ck/`, peer to `tile_engine/` and `dispatcher/`
- Adds `CK_ENABLE_ROCM_CK` option (default OFF) as a CK-internal feature
flag — no superbuild or TheRock changes needed
- Creates `rocm_ck` INTERFACE library, `ck_tile_headers` target, GTest
integration with builder-style convenience targets (`smoke-rocm-ck`,
`check-rocm-ck`)
- Adds Jenkins `RUN_ROCM_CK_TESTS` parameter for CI, following the
`RUN_BUILDER_TESTS` pattern
- README explains the constexpr schema model: host-device separation via
constexpr data rather than template parameters, enabling multi-arch
distribution through kpack archives

## Test plan

- [x] `cmake -DCK_ENABLE_ROCM_CK=ON` configures without errors
- [x] `ninja check-rocm-ck` passes (4 host-only index type tests)
- [x] Default build (`CK_ENABLE_ROCM_CK=OFF`) is unaffected — no rocm_ck
targets present
- [x] Jenkins `RUN_ROCM_CK_TESTS=true` enables the flag and runs
`check-rocm-ck`

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Max Podkorytov <4273004+tenpercent@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ROCm CK] Project Structure & Config

4 participants