tilelang.__init__
tilelang/__init__.py 1 文件 | 顶层入口,聚合 compile / jit / dsl 导出 入口:compile, jit, dsl, language, TensorSupplyType, PassConfigKey 依赖:tilelang.jit, tilelang.ir, tilelang.engine, tilelang.layout 用户第一次 import tilelang 的入口;README 与 pyproject 都把它作为主包门面 |
tilelang.jit
tilelang/jit 约 6 文件(目录) | JIT 编译与缓存,把 DSL 函数编译成可调用 kernel 入口:JITKernel, JITFunction, LowerAndImportEngine 依赖:tilelang.ir, tilelang.engine, tilelang.cache, tilelang.backend 提交热点之一(6 次);负责 Lower TIRX → 后端、缓存命中、输出索引保留(#3318) |
tilelang.language
tilelang/language 约 8 文件 | Pythonic DSL 原语:Kernel / Tensor / Pipelined / copy / gemm 等 入口:T.Kernel, T.Tensor, T.Pipelined, T.copy, T.gemm, T.alloc_shared, T.alloc_fragment 依赖:tilelang.ir, tilelang.analysis, tilelang.layout README 与 docs 自称的 Pythonic 语法层;最近一次提交涉及 float source bitwise reduce 修复(#3332) |
tilelang.ir
tilelang/ir.py 约 1 文件(+ C++ 侧 ir.cc/.h) | TIRX IR 定义与操作入口,衔接 TVM Script 入口:TIRX IR node wrappers, tir.Buffer, tir.PrimFunc 依赖:src/ir.cc, src/ir.h, 3rdparty/tvm README 明确 TIRX 是基于 TVM TIR 发展出的新 IR;#2216 完成 TIRX migration |
tilelang.transform
tilelang/transform 约 15 文件 | Pass 管道:layout inference、tensorization、TMA/MMA 注入、warp specialization 入口:PassContext, pass injection APIs, LayoutInferPass, TensorizePass 依赖:tilelang.ir, tilelang.analysis, tilelang.layout, src/transform 编译器核心;#2622 pass 计时、#2449 pass visualizer、#2725 IR Lower Trace 都围绕它 |
tilelang.engine
tilelang/engine 约 3 文件 | 高层编译引擎:调度 pass、codegen、profiler 绑定 入口:Engine, LowerModule, Codegen 依赖:tilelang.transform, tilelang.backend, tilelang.ir 把 transform 与 backend 串起来;#2441 tile scheduler、#2442 backend registry 都落在这里 |
tilelang.backend
tilelang/backend 约 3 文件 | 后端注册表,把编译产物分发给 CUDA/ROCm/Metal/Ascend/CPU/WebGPU 入口:Backend, BackendRegistry 依赖:src/backend, tilelang.cuda, tilelang.rocm, tilelang.metal, tilelang.ascend, tilelang.cpu, tilelang.webgpu #2442 把 device/host CodeGen 移到 registry 后面;README 列出的多后端都在此调度 |
tilelang.cuda
tilelang/cuda 约 20 文件 | CUDA 后端:NVRTC、CuTe DSL、SM75/90/100/120 tensor core、TMA、warp specialization 入口:CUDASourceCodeKernel, CUDACodegen, TensorCoreConfig 依赖:src/cuda, 3rdparty/cutlass 提交热点(3 次);README 详列 SM120 / MXFP8 / NVF4 / TMA / cluster copy / warp spec |
tilelang.rocm
tilelang/rocm 约 8 文件 | ROCm/HIP 后端:CDNA4、RDNA3/RDNA4、WMMA 入口:ROCmCodegen, HIPBackend 依赖:src/rocm, 3rdparty/hip-headers #2044 RDNA3 WMMA、#2132 CDNA4 MXFP4;3rdparty/hip-headers 提供 HIP 头 |
tilelang.metal
tilelang/metal 约 5 文件 | Metal 后端:simdgroup、cooperative tensor GEMM 入口:MetalCodegen, MetalBackend 依赖:src/metal #1869 simdgroup GEMM、#2252 Metal 4 cooperative tensor;Apple Silicon 可直接用 |
tilelang.ascend
tilelang/ascend 约 6 文件 | Ascend 950 NPU 官方后端:PTODSL、SIMT/SIMD 向量编程 入口:AscendBackend, PTODSLCodegen 依赖:src/ascend README 2026-09-30 公告;#3469 提交 vendored PTODSL SIMT allreduce helpers |
tilelang.autotuner
tilelang/autotuner 约 6 文件 | 自动调优:并行 autotune、eager-mode、pass configs 搜索 入口:Autotuner, PassConfigKey search 依赖:tilelang.engine, tilelang.jit 提交热点(2 次);#2159 并行 autotune、#1906 eager-mode、#3393 结构化 trial 报告 |
tilelang.contrib
tilelang/contrib 约 5 文件 | 第三方 DSL 桥接与扩展(triton、dsl 等) 入口:contrib.triton, contrib.dsl 依赖:tilelang.language, tilelang.backend 提交热点(5 次);README 提到 multi-backend dialect 与第三方桥接 |
src.transform
src/transform 约 30 文件 | C++ 侧 pass 实现:layout、tensorization、TMA/MMA 注入 入口:C++ pass classes, LowerTIRX 依赖:src/ir.cc, 3rdparty/tvm 与 tilelang/transform 镜像;#3427 For loop step 修复、#3245 GEMM dtype 拒绝 |
src.backend
src/backend 约 10 文件 | C++ 侧后端注册表与 codegen 分发 入口:BackendRegistry, CodegenDevice, CodegenHost 依赖:src/cuda, src/rocm, src/metal, src/ascend, src/cpu, src/webgpu #2442 把 codegen 移到 registry 后;与 tilelang/backend 对应 |
tilelang.profiler
tilelang/profiler 约 3 文件 | Profiler:kernel 计时、tensor supply、正确性验证 入口:Profiler, assert_allclose 依赖:tilelang.jit, tilelang.backend maint/gemm/correctness_evaluation.py 用它做正确性评估 |
tilelang.cache
tilelang/cache 约 2 文件 | 编译缓存:跨主机 CUDA binary cache、TIRX 缓存 入口:CacheManager 依赖:tilelang.jit #2459 跨主机 CUDA binary cache 落在这里 |
tilelang.layout
tilelang/layout 约 5 文件 | Layout 表示、推理与可视化 入口:Layout, LayoutInference 依赖:tilelang.analysis, tilelang.ir #1811 布局可视化改进;maint/layout_inference 与之配套 |
tilelang.analysis
tilelang/analysis 约 6 文件 | 静态分析:循环嵌套、指针、数据类型检查 入口:LoopNestAnalysis, DTypeAnalysis 依赖:tilelang.ir .agents/skills/tilelang-semantic/scripts/scan_loop_nesting.py 体现其能力 |
tilelang.carver
tilelang/carver 约 2 文件 | Kernel carving / 切片,用于 autotune 与调试 入口:Carver 依赖:tilelang.ir, tilelang.transform README 未详述;与 autotune 和 pass 配合 |
tilelang.instrumentation
tilelang/instrumentation 约 2 文件 | IKET profiler 集成、CUDA timeline instrumentation 入口:IKETProfiler 依赖:tilelang.profiler #2515 IKET profiler 集成;README 2026-07-12 提及 |
tilelang.tools
tilelang/tools 约 8 文件 | 开发者工具:compile_only、analyzer、layout_visualization、autodd、lower_trace、pass_diff、iket 入口:compile_only, analyzer, layout_visualization, autodd, lower_trace, pass_diff, iket 依赖:tilelang.jit, tilelang.transform, tilelang.ir docs/tools 列出这些工具;#2725 lower_trace、#2375 pass_diff、#2045 autodd frozen regions |
src.runtime
src/runtime 约 15 文件 | C++ 运行时:kernel launch、stream、event、CUDA stub 入口:Runtime, LaunchKernel 依赖:3rdparty/tvm #1821 CUDA runtime stubs 在此;支撑 JIT 执行 |
3rdparty.tvm
3rdparty/tvm 大型子模块 | TVM 核心:TIR、TIRX、FFI、runtime 入口:tvm.script, tvm.tir, tvm.runtime 依赖:无(底层) README 明确 TVM 是基础;TIRX 自此发展 |
3rdparty.cutlass
3rdparty/cutlass 大型子模块 | CUTLASS / CuTe DSL 模板库 入口:CudaF, GemMma 依赖:无(底层) CUDA CuTe DSL 后端依赖;#1421、#1855、#3414 都围绕它 |
3rdparty.hip-headers
3rdparty/hip-headers 约 40 文件 | HIP 头文件,支持 ROCm 后端 入口:hip/hip_runtime.h, hip/amd_detail/* 依赖:无(底层) 目录树可见完整 HIP 头;与 tilelang/rocm 配套 |