Files
composable_kernel/test/ck_tile/gemm_tile_engine/README.md
msaffari-amd 96efe2f485 ck tile engine integrate with gemm unit tests (#2601)
* first try to understand how tile engine works

* 1st implemented unit tests

* manage different types for unit tests

* manage using different config files to have different unit tests

* manage different layouts

* making instances and running them by unit test

* Add reference calculation

* manage different input dimension combination

* add splitk to unit tests. clean code.

* remove unused files

* clean and test with a simple json file
2025-10-06 12:00:58 +02:00

1.2 KiB

GEMM Tile Engine Unit Tests

How It Works

This unit test system integrates tile_engine's kernel generation into automated testing:

  1. Uses tile_engine scripts directly: Same Python scripts that generate tile_engine kernels
  2. JSON-based configuration: Define test parameters in JSON files (like tile_engine)
  3. Build-time generation: CMake calls tile_engine scripts to generate kernel headers
  4. Individual test executables: Each kernel configuration becomes a separate test
  5. Tile_engine verification: Uses exact same error thresholds and validation as tile_engine

Tile Engine Integration

JSON Config → tile_engine Python scripts → Generated Headers → Test Executables
  • --list_kernels: Get available kernel configurations from JSON
  • --gen_single: Generate individual kernel header for each configuration
  • Same verification: Uses tile_engine's adaptive error thresholds and reference calculations
  • Same patterns: Follows tile_engine's tensor initialization, stride calculation, and kernel launching

The key idea: Unit tests that use tile_engine's exact kernel generation and verification methodology instead of creating separate test infrastructure.