add the CC skill for running builds and tests in a docker container#3560
Closed
tenpercent wants to merge 4 commits into
Closed
add the CC skill for running builds and tests in a docker container#3560tenpercent wants to merge 4 commits into
tenpercent wants to merge 4 commits into
Conversation
…ild and run tests in the container
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.
Summary
This PR adds a Claude Code skill that enables automated build and test workflows in Docker containers with proper ROCm GPU support. This allows Claude Code to enter a feedback loop where it can compile code, run tests, examine errors, make fixes, and iterate until tests pass.
Motivation
When developing and testing GPU kernels for Composable Kernel, developers need:
The ck-docker skill provides a seamless way to build and test inside Docker containers while maintaining the convenience of editing code on the host system
Key Features
1. Automatic Container Management
ck_<username>_<branch>to prevent conflicts between users and branchesck_user_devwon't matchck_user_dev_v2)2. GPU Target Detection
rocminfo(e.g., gfx950, gfx942)GPU_TARGETenvironment variable3. Build Management
rebuild-cmakecommand for clean reconfiguration4. Test Execution
ck-docker test test_amdgcn_mmack-docker test test_ck_tile_gemm_pipeline_comp_async --gtest_filter=*/0.SmallM5. Robust Error Handling
set -eandset -o pipefailfor proper error propagationrm -rfoperationsEnvironment Variables
Usage
Command-line
Natural language with Claude Code
Corner Cases Handled
Container Name Generation
$USERenvironment variable: falls back towhoamior "user"Container Matching
^name$ensuresck_user_devdoesn't matchck_user_dev_v2Argument Handling
printf '%q'for special charactersPath Safety
rm -rfoperations to prevent accidental deletioncd /workspace || exit 1prevents operations in wrong directory/workspace/buildTesting
Validated with multiple test suites on gfx950 (AMD Instinct MI350X):
GEMM Pipeline Tests:
test_ck_tile_gemm_pipeline_comp_async: 56 tests, all passed (32 seconds)--gtest_filter=*/0.SmallMData Type Tests:
test_ck_tile_pk_fp4: 6 tests, all passed (158 ms)test_ck_tile_mx_scale: 5 tests, all passed (166 ms)Container Management:
Benefits for Claude Code
This skill enables Claude Code to:
This creates a tight feedback loop essential for AI-assisted development of complex GPU kernels.