mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-18 20:09:25 +00:00
[CK][CK_TILE] Fix dispatcher cpp tests - registry key mismatch and string assertions (#6528)
## Motivation CPP tests in dispatcher were failing due to a mismatch in registry key and string representation. ## Technical Details Bug 1 - Registry key mismatch: The registry stored kernels using get_name() but lookups used encode_identifier(), causing all registry lookups to fail. Fixed by changing registry.cpp:58 to use encode_identifier() for storage. Bug 2 - String representation changes: Tests checked for "persist"/"nopers" substrings, but the code emits "True"/"False". Fixed by replacing brittle substring checks with comparison-based assertions in test_kernel_key.cpp and test_kernel_key_extended.cpp. ## Test Plan Tested with CPP tests in dispatcher ## Test Result Validation: All three core cpp tests now pass: - test_kernel_key - 6/6 tests passing - test_kernel_key_extended - 25/25 tests passing - test_registry - 8/8 tests passing ## Submission Checklist - [ x] Look over the contributing guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests. --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -71,7 +71,12 @@ TEST(KernelKeyTest, EncodeIdentifier)
|
||||
EXPECT_NE(id.find("256x256x32"), std::string::npos); // tile shape
|
||||
EXPECT_NE(id.find("2x2x1"), std::string::npos); // wave shape
|
||||
EXPECT_NE(id.find("32x32x16"), std::string::npos); // warp tile shape
|
||||
EXPECT_NE(id.find("persist"), std::string::npos); // persistent flag
|
||||
|
||||
// Verify persistent flag is encoded by toggling it and asserting the
|
||||
// identifier changes. Robust to encoding spelling changes.
|
||||
KernelKey non_persistent_key = key;
|
||||
non_persistent_key.algorithm.persistent = false;
|
||||
EXPECT_NE(id, non_persistent_key.encode_identifier());
|
||||
}
|
||||
|
||||
TEST(KernelKeyTest, EncodeIdentifierWithFusion)
|
||||
@@ -97,7 +102,12 @@ TEST(KernelKeyTest, EncodeIdentifierWithFusion)
|
||||
// Check fusion-specific components
|
||||
EXPECT_NE(id.find("Relu"), std::string::npos);
|
||||
EXPECT_NE(id.find("_d2"), std::string::npos);
|
||||
EXPECT_NE(id.find("nopers"), std::string::npos);
|
||||
|
||||
// Verify persistent flag is encoded by toggling it and asserting the
|
||||
// identifier changes. Robust to encoding spelling changes.
|
||||
KernelKey persistent_key = key;
|
||||
persistent_key.algorithm.persistent = true;
|
||||
EXPECT_NE(id, persistent_key.encode_identifier());
|
||||
}
|
||||
|
||||
TEST(KernelKeyTest, EncodeIdentifierWithSplitK)
|
||||
|
||||
Reference in New Issue
Block a user