mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-11 17:00:18 +00:00
test: Add umbrella test targets for CK Tile operations (#4301) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Proposed changes Adds operation-specific umbrella test targets for CK Tile to enable running all tests for a specific operation without running the entire test suite. This improves the development workflow by allowing faster iteration when working on specific operations. ## Motivation Previously, developers working on CK Tile operations could only: - Run individual test executables one at a time - Run global labels (, , ) which test the entire codebase - Build all tests for an operation but had no simple way to run them all This made it cumbersome to validate changes to a specific operation (e.g., GEMM quantization) without either running tests individually or running the entire test suite. ### Documentation - - Comprehensive testing guide with usage examples and implementation details ## Usage Examples # Run all GEMM tests with 256 parallel jobs ninja -j256 ck_tile_gemm_tests # Run all GEMM block scale (quantization) tests ninja -j256 ck_tile_gemm_block_scale_tests # Run all GEMM StreamK tests ninja -j256 ck_tile_gemm_streamk_tests ## Checklist Please put an into the boxes that apply. You can also fill these out after creating the PR. If you're not sure, please don't hesitate to ask. - [x] I have added tests relevant to the introduced functionality, and the unit tests are passing locally - [x] I have added the test to REGRESSION_TESTS list defined at the top of CMakeLists.txt in tests/CMakeLists.txt, **IF** the test takes more than 30 seconds to run. - [x] I have added inline documentation which enables the maintainers with understanding the motivation - [x] I have removed the stale documentation which is no longer relevant after this pull request - [ ] (If this change is user-facing) I have added release notes which provide the end users with a brief summary of the improvement from this pull request - [x] I have run on all changed files - [x] Any dependent changes have been merged ## Discussion If this is a relatively large or complex change, feel free to start a discussion by explaining why you chose the solution you did and what alternatives you considered
71 lines
2.8 KiB
CMake
71 lines
2.8 KiB
CMake
# Copyright (c) Advanced Micro Devices, Inc., or its affiliates.
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
################################################################################
|
|
# CK Tile Test Organization
|
|
################################################################################
|
|
# CK Tile tests can be run using several methods:
|
|
#
|
|
# 1. Global test labels (run tests across all operations):
|
|
# - ninja smoke - Fast tests (~30s on gfx90a)
|
|
# - ninja regression - Slower comprehensive tests
|
|
# - ninja check - All available tests
|
|
#
|
|
# 2. Operation-specific umbrella targets (run all tests for a specific operation):
|
|
# - ninja ck_tile_gemm_tests - All basic GEMM tests
|
|
# - ninja ck_tile_gemm_block_scale_tests - All GEMM with block-scale quantization tests
|
|
# - ninja ck_tile_gemm_streamk_tests - All GEMM StreamK tests
|
|
# - ninja ck_tile_grouped_gemm_quant_tests - All grouped GEMM quantization tests
|
|
# - ninja ck_tile_reduce_tests - All reduce operation tests
|
|
# - ninja ck_tile_fmha_tests - All FMHA (Flash Attention) tests
|
|
#
|
|
# 3. Individual test executables:
|
|
# - ninja test_<test_name> - Build specific test executable
|
|
# - ./build/bin/test_<test_name> - Run specific test directly
|
|
#
|
|
# These umbrella targets are useful when working on specific operations to quickly
|
|
# validate all related tests without running the entire test suite.
|
|
################################################################################
|
|
|
|
add_subdirectory(image_to_column)
|
|
add_subdirectory(gemm)
|
|
add_subdirectory(gemm_persistent_async_input)
|
|
add_subdirectory(gemm_weight_preshuffle)
|
|
add_subdirectory(batched_gemm)
|
|
add_subdirectory(grouped_gemm)
|
|
add_subdirectory(grouped_gemm_preshuffle)
|
|
add_subdirectory(grouped_gemm_multi_d)
|
|
add_subdirectory(grouped_gemm_quant)
|
|
add_subdirectory(grouped_gemm_abquant)
|
|
add_subdirectory(gemm_multi_d)
|
|
add_subdirectory(gemm_multi_abd)
|
|
add_subdirectory(gemm_streamk)
|
|
add_subdirectory(data_type)
|
|
add_subdirectory(container)
|
|
add_subdirectory(elementwise)
|
|
# Not including these tests as there is a bug on gfx90a and gfx942
|
|
# resulting in "GPU core dump"
|
|
#add_subdirectory(moe_smoothquant)
|
|
add_subdirectory(permute)
|
|
add_subdirectory(moe_sorting)
|
|
add_subdirectory(slice_tile)
|
|
add_subdirectory(memory_copy)
|
|
add_subdirectory(batched_transpose)
|
|
add_subdirectory(smoothquant)
|
|
add_subdirectory(topk_softmax)
|
|
add_subdirectory(add_rmsnorm2d_rdquant)
|
|
# add_subdirectory(layernorm2d)
|
|
# add_subdirectory(rmsnorm2d)
|
|
add_subdirectory(gemm_block_scale)
|
|
add_subdirectory(utility)
|
|
add_subdirectory(warp_gemm)
|
|
add_subdirectory(reduce)
|
|
add_subdirectory(core)
|
|
add_subdirectory(epilogue)
|
|
add_subdirectory(atomic_add_op)
|
|
add_subdirectory(fmha)
|
|
add_subdirectory(gemm_tile_engine)
|
|
add_subdirectory(pooling)
|
|
add_subdirectory(grouped_conv)
|
|
add_subdirectory(gemm_streamk_tile_engine)
|