Tools¶
TileLang includes utilities for inspecting kernels, visualizing layouts, reducing failing programs, observing compiler transformations, and collecting GPU timeline events. These tools are separate from the kernel language: import or invoke only the tool needed for the current workflow.
Task |
Tool |
Entry point |
|---|---|---|
Emit kernel source without a GPU |
|
|
Estimate compute and memory cost from TIR |
|
|
Inspect thread and data mappings |
|
|
Reduce a failing program to a smaller reproducer |
|
|
Track IR changes across the full lowering pipeline (recommended) |
|
|
Compare IR before and after compiler passes (legacy) |
|
|
Record CUDA kernel markers, ranges, and payloads |
|
Choosing a Tool¶
Use the Compile-Only Tool to inspect the kernel source
lower()generates for an example file, on any machine and without launching anything. It is the entry point behind the Compiler Explorer integration.Use Analyzer before benchmarking when you need a rough roofline-style estimate from a
PrimFuncorIRModule.Use Layout Visualization to inspect how logical indices map to threads and local indices.
Use AutoDD after obtaining a stable failure signature and before filing a large reproducer.
Use IR Lower Trace to observe every pass and the final codegen step of a full lowering pipeline. It supersedes Pass Diff and is the tool that receives future improvements.
Use Pass Diff only when you need the legacy
TILELANG_PASS_DIFFworkflow.Use IKET for CUDA timeline instrumentation when the external IKET runtime is available.
Kernel-level debugging primitives such as T.print remain part of the TileLang
language. See Debugging Tile Language Programs for an end-to-end
debugging workflow that combines language primitives with these tools.