-
Notifications
You must be signed in to change notification settings - Fork 270
test: Add umbrella test targets for CK Tile operations #3654
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
AviralGoelAMD
wants to merge
6
commits into
develop
Choose a base branch
from
aviralgoel/test_labels
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
bca1c78
test: add labels to ck_tile tests to build and run in single command
AviralGoelAMD bd3ca11
chore: rename markdown file
AviralGoelAMD 10b597f
Merge branch 'develop' into aviralgoel/test_labels
AviralGoelAMD 538ec4d
Merge branch 'develop' into aviralgoel/test_labels
AviralGoelAMD e4cf7ed
Merge branch 'develop' into aviralgoel/test_labels
AviralGoelAMD 1522325
Merge branch 'develop' into aviralgoel/test_labels
AviralGoelAMD File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,133 @@ | ||
| # CK Tile Testing Guide | ||
|
|
||
| This document describes the test organization and available test targets for CK Tile operations. | ||
|
|
||
| ## Overview | ||
|
|
||
| CK Tile tests are organized with multiple levels of granularity to support different development workflows: | ||
|
|
||
| 1. **Global test labels** - Run tests across all operations | ||
| 2. **Operation-specific umbrella targets** - Run all tests for a specific operation | ||
| 3. **Individual test executables** - Run specific tests | ||
|
|
||
| ## Global Test Labels | ||
|
|
||
| These targets run tests across all CK operations (not just CK Tile): | ||
|
|
||
| ### `ninja smoke` | ||
| Run fast smoke tests (tests that complete within ~30 seconds on gfx90a). | ||
| ```bash | ||
| ninja smoke | ||
| ``` | ||
|
|
||
| ### `ninja regression` | ||
| Run slower, more comprehensive regression tests. | ||
| ```bash | ||
| ninja regression | ||
| ``` | ||
|
|
||
| ### `ninja check` | ||
| Run ALL available tests in the entire codebase. | ||
| ```bash | ||
| ninja check | ||
| ``` | ||
|
|
||
| ## Operation-Specific Umbrella Targets | ||
|
|
||
| These targets allow you to run all tests for a specific CK Tile operation. This is useful when making changes to a particular operation and wanting to validate all related tests without running the entire test suite. | ||
|
|
||
| ### GEMM Operations | ||
|
|
||
| #### `ck_tile_gemm_tests` | ||
| Run all basic GEMM pipeline tests (memory, compute variants, persistent, etc.) | ||
| ```bash | ||
| ninja ck_tile_gemm_tests | ||
| ``` | ||
| **Test executables included:** | ||
| - `test_ck_tile_gemm_pipeline_mem` | ||
| - `test_ck_tile_gemm_pipeline_compv3` | ||
| - `test_ck_tile_gemm_pipeline_compv4` | ||
| - `test_ck_tile_gemm_pipeline_persistent` | ||
| - `test_ck_tile_gemm_pipeline_compv6` | ||
| - `test_ck_tile_gemm_pipeline_comp_async` (gfx95 only) | ||
| - `test_ck_tile_gemm_pipeline_*_wmma` variants (gfx11/gfx12 only) | ||
|
|
||
| #### `ck_tile_gemm_block_scale_tests` | ||
| Run all GEMM tests with block-scale quantization (AQuant, BQuant, ABQuant, etc.) | ||
| ```bash | ||
| ninja ck_tile_gemm_block_scale_tests | ||
| ``` | ||
| **Test executables included:** 29 test executables covering: | ||
| - AQuant tests (memory pipelines, base layouts, prefill, preshuffle, transpose) | ||
| - ABQuant tests (base, padding, preshuffle) | ||
| - BQuant tests (1D/2D variants, transpose) | ||
| - BQuant with PreshuffleB (decode/prefill, 1D/2D) | ||
| - BQuant with PreshuffleQuant (decode/prefill, 1D/2D) | ||
| - RowColQuant and TensorQuant tests | ||
|
|
||
| #### `ck_tile_gemm_streamk_tests` | ||
| Run all GEMM StreamK tests (tile partitioner, reduction, smoke, extended) | ||
| ```bash | ||
| ninja ck_tile_gemm_streamk_tests | ||
| ``` | ||
| **Test executables included:** | ||
| - `test_ck_tile_streamk_tile_partitioner` | ||
| - `test_ck_tile_streamk_reduction` | ||
| - `test_ck_tile_streamk_smoke` | ||
| - `test_ck_tile_streamk_extended` | ||
|
|
||
| #### `ck_tile_grouped_gemm_quant_tests` | ||
| Run all grouped GEMM quantization tests | ||
| ```bash | ||
| ninja ck_tile_grouped_gemm_quant_tests | ||
| ``` | ||
| **Test executables included:** | ||
| - `test_ck_tile_grouped_gemm_quant_rowcol` | ||
| - `test_ck_tile_grouped_gemm_quant_tensor` | ||
| - `test_ck_tile_grouped_gemm_quant_aquant` | ||
| - `test_ck_tile_grouped_gemm_quant_bquant` | ||
| - `test_ck_tile_grouped_gemm_quant_bquant_preshuffleb` | ||
|
|
||
| ### Other Operations | ||
|
|
||
| #### `ck_tile_fmha_tests` | ||
| Run all FMHA (Flash Multi-Head Attention) tests | ||
| ```bash | ||
| ninja ck_tile_fmha_tests | ||
| ``` | ||
| **Test executables included:** Forward and backward tests for fp16, bf16, fp8bf16, fp32 | ||
|
|
||
| #### `ck_tile_reduce_tests` | ||
| Run all reduce operation tests | ||
| ```bash | ||
| ninja ck_tile_reduce_tests | ||
| ``` | ||
| **Test executables included:** | ||
| - `test_ck_tile_reduce2d` | ||
| - `test_ck_tile_multi_reduce2d_threadwise` | ||
| - `test_ck_tile_multi_reduce2d_multiblock` | ||
|
|
||
| ## Individual Test Executables | ||
|
|
||
| You can also build and run individual test executables: | ||
|
|
||
| ### Build a specific test | ||
| ```bash | ||
| ninja test_ck_tile_gemm_pipeline_mem | ||
| ``` | ||
|
|
||
| ### Run a specific test directly | ||
| ```bash | ||
| ./build/bin/test_ck_tile_gemm_pipeline_mem | ||
| ``` | ||
|
|
||
| ### Run a specific test through ctest | ||
| ```bash | ||
| ctest -R test_ck_tile_gemm_pipeline_mem --output-on-failure | ||
| ``` | ||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
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
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
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
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
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
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
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.
Uh oh!
There was an error while loading. Please reload this page.