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

Estimate compute and memory cost from TIR

Performance Analyzer

tilelang.tools.Analyzer

Inspect thread and data mappings

Layout Visualization

tilelang.tools.plot_layout

Reduce a failing program to a smaller reproducer

AutoDD

python -m tilelang.autodd

Compare IR before and after compiler passes

Pass Diff

TILELANG_PASS_DIFF

Record CUDA kernel markers, ranges, and payloads

IKET

tilelang.tools.cuda.iket

Choosing a Tool¶

  • Use Analyzer before benchmarking when you need a rough roofline-style estimate from a PrimFunc or IRModule.

  • 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 Pass Diff when a lowering pass introduces an unexpected IR change.

  • 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.