From d4849708a71d1bc429ab4f8bbde80d51659502a6 Mon Sep 17 00:00:00 2001 From: John Shumway Date: Sun, 30 Nov 2025 20:21:37 -0500 Subject: [PATCH] Update README.md and comments for dispatch refactor --- experimental/builder/README.md | 8 ++++++-- .../builder/include/ck_tile/builder/factory/README.md | 4 +++- .../include/ck_tile/builder/factory/conv_dispatcher.hpp | 5 +++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/experimental/builder/README.md b/experimental/builder/README.md index 54a6c02f42..479eecbdd6 100644 --- a/experimental/builder/README.md +++ b/experimental/builder/README.md @@ -2,7 +2,7 @@ This directory contains the experimental builder feature for composable_kernel. -* Status: In development (October - November 2025) +* Status: In development (October - December 2025) ## Overview @@ -14,6 +14,10 @@ This project is a prototype for a more general builder pattern for all of compos - `include/ck_tile/builder/` Core builder headers and public API. +- `include/ck_tile/builder/reflect` + Reflection mechanism. +- `include/ck_tile/builder/factory` + Compile-time dispatch from builder descriptors to our exisitng specialized convolution kernel implementations. - `test/` Unit tests and example usage of the builder pattern. - `CMakeLists.txt` @@ -28,7 +32,7 @@ cmake -D CMAKE_PREFIX_PATH=/opt/rocm \ -D CMAKE_CXX_COMPILER=/opt/rocm/bin/hipcc \ -D CMAKE_BUILD_TYPE=Release \ - -D GPU_TARGETS="gfx942;gfx950" \ + -D GPU_TARGETS="gfx942" \ -D CK_EXPERIMENTAL_BUILDER=ON \ -D CMAKE_CXX_STANDARD=20 \ -G Ninja \ diff --git a/experimental/builder/include/ck_tile/builder/factory/README.md b/experimental/builder/include/ck_tile/builder/factory/README.md index 62f100a7b6..d1794349ab 100644 --- a/experimental/builder/include/ck_tile/builder/factory/README.md +++ b/experimental/builder/include/ck_tile/builder/factory/README.md @@ -1,7 +1,9 @@ -# Convolution Factory Directory +# Convolution Builder Factory Directory This directory implements compile-time dispatch from high-level signature algorithm descriptors to our exisitng specialized convolution kernel implementations. +See the [main builder documentation](../README.md) for an overview. + ## Design Overview The factory system operates in two phases: diff --git a/experimental/builder/include/ck_tile/builder/factory/conv_dispatcher.hpp b/experimental/builder/include/ck_tile/builder/factory/conv_dispatcher.hpp index a76bd0d9d2..78a941e577 100644 --- a/experimental/builder/include/ck_tile/builder/factory/conv_dispatcher.hpp +++ b/experimental/builder/include/ck_tile/builder/factory/conv_dispatcher.hpp @@ -74,6 +74,11 @@ namespace ck_tile::builder::factory { // We should probably add explicit tags to the algorithm descriptors, at least // for the initial implemenation. // +// To avoid changing behavior too much during refactoring, we leave the explicit +// dispatch logic here for now, just changing it from SFINAE to consteval + if constexpr. +// There may be some subtle behavior changes, but build failure messages will be more +// clear. +// // TODO: Make this dispatch logic much more robust and clear for users. // XDL-based kernel with V3 pipeline structure (newer block GEMM pipeline)