---
id: pr-tilelang-2153
repo: tile-ai/tilelang
pr: 2153
title: '[codex] Split GEMM implementations by backend'
author: LeiWang1999
date: '2026-05-06'
url: https://github.com/tile-ai/tilelang/pull/2153
source_category: upstream-code
architectures:
- sm90
tags:
- WGMMA
- arch_pipeline
- compiler_runtime
- copy lowering
- cuda backend
- gemm
- gemm_quant
- intrinsic
- scheduler_autotune
techniques:
- autotuning
- fine-grained-quantization
- pipeline-stages
- tile-scheduling
hardware_features:
- wgmma
kernel_types:
- compiler
- gemm
- runtime
- scheduler
languages:
- cuda-cpp
- cute-dsl
captured_at: '2026-05-16'
status: merged
merge_sha: 960b9c980478387a12bbc0b25a82e8f942e021dd
inclusion_reason: 'Extract the architecture assumption first: SM target, TMA/WGMMA/tcgen path, cluster use, and pipeline stages.'
changed_paths:
- src/backend/cpu/op/gemm.cc
- src/backend/cuda/op/gemm.cc
- src/backend/rocm/op/gemm.cc
- src/op/gemm.cc
- src/op/gemm.h
- src/op/gemm_sp.cc
- src/op/gemm_sp.h
- src/op/gemm_sp_py.cc
- src/op/gemm_sp_py.h
- src/transform/instruction_annotation.cc
- tilelang/backend/__init__.py
- tilelang/backend/cpu/__init__.py
- tilelang/backend/cpu/gemm.py
- tilelang/backend/cuda/__init__.py
- tilelang/backend/cuda/gemm.py
- tilelang/backend/gemm.py
artifact_dir: evidence/pull-bundles/tilelang/gh-2153
head_ref_oid: 7d61db9f60a9693f8f63341c3d2b4448bef3d3fe
---
# [codex] Split GEMM implementations by backend

- Repository: `tile-ai/tilelang`
- PR: [2153](https://github.com/tile-ai/tilelang/pull/2153)
- Decision: `Extract the architecture assumption first: SM target, TMA/WGMMA/tcgen path, cluster use, and pipeline stages.`
- Reason: Extract the architecture assumption first: SM target, TMA/WGMMA/tcgen path, cluster use, and pipeline stages.

## Changed Paths

- `src/backend/cpu/op/gemm.cc`
- `src/backend/cuda/op/gemm.cc`
- `src/backend/rocm/op/gemm.cc`
- `src/op/gemm.cc`
- `src/op/gemm.h`
- `src/op/gemm_sp.cc`
- `src/op/gemm_sp.h`
- `src/op/gemm_sp_py.cc`
- `src/op/gemm_sp_py.h`
- `src/transform/instruction_annotation.cc`
- `tilelang/backend/__init__.py`
- `tilelang/backend/cpu/__init__.py`
- `tilelang/backend/cpu/gemm.py`
- `tilelang/backend/cuda/__init__.py`
- `tilelang/backend/cuda/gemm.py`
- `tilelang/backend/gemm.py`

## Evidence Bundle

`evidence/pull-bundles/tilelang/gh-2153`
