Commit Graph

9 Commits

Author SHA1 Message Date
John Shumway
594858dd6e Add test code for filling random numbers and a simple GEMM.
Introduces ck_tile::test, with kernels for a simple GEMM and also initializing bf16 memory.
2025-08-05 16:46:35 +00:00
John Shumway
663b7a703c Clean up namespaces and locations of code.
Adds a new ck_tile::runtime for runtime utilities.

Also moves functionality into the builder. Kernel is accessed with the
ckb::Kernel function that is templated by the builder class.
2025-08-05 15:58:30 +00:00
John Shumway
fda9a28e18 Improve comments for single GEMM kernel args. 2025-08-04 23:10:17 +00:00
John Shumway
bac470446c Remove old explanation comment. 2025-08-04 22:59:48 +00:00
John Shumway
6a031b3663 Cleanup example source file. 2025-08-04 22:57:51 +00:00
John Shumway
e416d4ec66 Add code to launch kernel.
The Gemm kernel now executes, but still needs numerical checks.
2025-08-04 22:51:59 +00:00
John Shumway
e49ceff3f5 Fix builder code and choices to compile a GEMM kernel.
I've only verfied that the kernel compiles.

Some of my choices, like float32 types and having the epilogue set the member, are not valid template parameters. I now have this indentical to
a default GEMM universal kernel.

I also fixed some other small logical mistakes I made.

The code currently outputs the GetName results for some of the classes:

```
Kernel name: gemm_bf16_pipeline_AgBgCrCompV3_16x64x128_256_1x4_0x0x0
Shape:       tile_gemm_shape_16x64x128x4_1x4x1_16x16x32
Problem:     gemm_problem_256_0x0x0_Intrawave
Pipeline:    pipeline_AgBgCrCompV3_16x64x128_256_1x4_0x0x0
```
2025-08-04 16:50:37 +00:00
John Shumway
79d34d53dd Add a lot of GEMM template, commiting to save progress.
This commit has a lot of template code extracted from the gemm universal example, but it needs more debugging before we can compile the kernel object.
2025-08-02 00:32:50 +00:00
John Shumway
95bf30511d Move gemm builder to experimental subdirectory. 2025-08-01 18:12:07 +00:00