Kebab Codebase Navigation
When to Use This Skill
- •User asks where to change GEMM or elementwise kernels
- •User asks where build flags, CUDA architecture, or CMake targets are defined
- •User asks where benchmark/microbenchmark binaries are wired
- •User asks where profiling/reporting scripts live
Project Map
- •Main CMake entry:
kebab/CMakeLists.txt - •Library target wiring:
kebab/lib/CMakeLists.txt - •Benchmark executables:
kebab/lib/benchmark/CMakeLists.txt - •Microbenchmark executables:
kebab/lib/microbench/CMakeLists.txt - •Top-level workflow automation:
Makefile - •Runtime/config knobs:
config.yaml - •Performance docs and design notes:
docs/
Step-by-Step Workflow
- •Determine requested domain first: build, runtime kernel, benchmark, microbenchmark, profiling, or report.
- •For build/toolchain issues, inspect
Makefileandkebab/CMakeLists.txtfirst. - •For kernel implementation issues:
- •CuTe path:
kebab/lib/cute/ - •CUDA baseline path:
kebab/lib/cuda/
- •CuTe path:
- •For executable mapping, verify target names in:
- •
kebab/lib/benchmark/CMakeLists.txt - •
kebab/lib/microbench/CMakeLists.txt
- •
- •Cross-check that proposed commands exist in
Makefiletarget templates.
Troubleshooting
| Issue | What to check |
|---|---|
| Command exists in docs but fails | Confirm target name in Makefile and generated binary path in build/lib/... |
| GEMM variant confusion | Verify CUDA vs CuTe file under kebab/lib/cuda/ vs kebab/lib/cute/ |
| Architecture mismatch | Inspect CUDA_ARCH handling in Makefile and kebab/CMakeLists.txt |
References
- •
kebab/CMakeLists.txt - •
kebab/lib/CMakeLists.txt - •
kebab/lib/benchmark/CMakeLists.txt - •
kebab/lib/microbench/CMakeLists.txt - •
Makefile