Files
composable_kernel/experimental/builder
kabrahamAMD 93a92cf2da [CK_BUILDER] Add inline string diff for tests (#3067)
Adds new testing functionality: an inline diff for string comparison.

Example usage:

EXPECT_THAT("Actual string", ck_tile::test::StringEqWithDiff("Expected string"));

Failure message:

Value of: "Actual string"
Expected: "Expected string"
Actual: "Actual string" (of type char [14]),
Diff: "[Expe|A]ct[ed|ual] string"

The inline-diff function uses the Wagner-Fischer algorithm to find the minimum edit distance and generate diff markers, which has O(N^2) complexity. It has optional color codes that are enabled with the matcher.

[ROCm/composable_kernel commit: e576992dca]
2025-10-25 07:22:41 -07:00
..

Builder

This directory contains the experimental builder feature for composable_kernel.

  • Status: In development (October - November 2025)

Overview

The builder provides a high-level, semantically-clear interface for constructing composable kernel operations, with an initial focus on convolution kernels for MIOpen. It leverages modern C++20 features (such as POD structs as non-type template parameters, concepts, and designated initializers) to simplify kernel instantiation and improve developer experience.

This project is a prototype for a more general builder pattern for all of composable_kernel (CK) and CKTile, but is currently limited to formalizing the interface between MIOpen and CK.

Directory Structure

  • include/ck_tile/builder/
    Core builder headers and public API.
  • test/
    Unit tests and example usage of the builder pattern.
  • CMakeLists.txt
    CMake configuration for building the experimental builder and its tests.

CMake Configuration

To enable the experimental builder, configure your build with:

cmake -DCK_EXPERIMENTAL_BUILDER=ON -DCMAKE_CXX_STANDARD=20 ...

Building and testing

During development, build and test from the CK build directory with

ninja test_conv_builder && bin/test_conv_builder