Skip to content

Conversation

@LeiWang1999
Copy link
Member

@LeiWang1999 LeiWang1999 commented Dec 21, 2025

This pull request removes support for two dynamic shape-related pass configuration options: tl.disable_dynamic_tail_split and tl.dynamic_alignment. The changes clean up the codebase by eliminating references to these options from both the Python and C++ code, as well as removing the associated dynamic shape example and its test.

Key removals:

Dynamic shape pass config options:

  • Removed TL_DYNAMIC_ALIGNMENT and TL_DISABLE_DYNAMIC_TAIL_SPLIT from the PassConfigKey enum in tilelang/transform/pass_config.py, along with their documentation.
  • Deleted the corresponding static constexpr string constants kDynamicAlignment and kDisableDynamicTailSplit from src/op/builtin.h. [1] [2]

Examples and tests:

  • Removed the examples/dynamic_shape/example_dynamic.py file, which included a dynamic shape matmul kernel and runner.
  • Removed the associated test file examples/dynamic_shape/test_example_dynamic.py.

Summary by CodeRabbit

  • Tests

    • Removed dynamic shape symbolic test modules and benchmark utilities for matrix multiplication operations.
  • Chores

    • Removed dynamic shape configuration options and related example code, simplifying the configuration space.

✏️ Tip: You can customize this high-level summary in your review settings.

* Deleted the dynamic shape example script `example_dynamic.py` and its corresponding test file `test_example_dynamic.py` to streamline the codebase.
* Removed unused dynamic tail split and dynamic alignment configurations from `builtin.h` and `pass_config.py`.
* Cleaned up the dynamic shape testing files to eliminate redundancy and improve maintainability.
@github-actions
Copy link

👋 Hi! Thank you for contributing to the TileLang project.

Please remember to run pre-commit run --all-files in the root directory of the project to ensure your changes are properly linted and formatted. This will help ensure your contribution passes the format check.

We appreciate you taking this step! Our team will review your contribution, and we look forward to your awesome work! 🚀

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 21, 2025

Walkthrough

The PR removes dynamic shape handling infrastructure and related test/example code. Changes include deletion of example programs, test modules for dynamic symbolic operations, and removal of associated pass configuration options from both C++ and Python layers.

Changes

Cohort / File(s) Change Summary
Dynamic Example & Test Removal
examples/dynamic_shape/example_dynamic.py, examples/dynamic_shape/test_example_dynamic.py
Deleted example implementation of JIT-compiled tiled matrix multiplication with dynamic shapes, including kernel definitions, wrapper functions, and associated test module.
Dynamic Test Infrastructure Removal
testing/python/dynamic/test_tilelang_dynamic_symbolic.py, testing/python/dynamic/test_tilelang_dynamic_symbolic_bench.py
Removed comprehensive test and benchmark modules for dynamic symbolic matmul operations, including helper factories, correctness assertions, and profiling utilities.
Pass Configuration Cleanup
src/op/builtin.h, src/op/builtin.cc, tilelang/transform/pass_config.py
Removed two pass configuration options: kDisableDynamicTailSplit (Bool) and kDynamicAlignment (Integer) from header, registration, and enum definitions.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Changes consist primarily of file deletions and removal of configuration constants
  • No complex logic modifications or control flow changes
  • All removals appear consistent and aligned with deprecating dynamic vectorization features

Possibly related PRs

Suggested reviewers

  • chengyupku

Poem

🐰 Away with the dynamic, away with the sprawl,
The shapes now rest simple, no tailsplit at all.
A cleanup most tidy, a feature to prune,
The rabbit approves—dynamic's marched off too soon! 🌙

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and accurately summarizes the main change: removing two legacy PassConfig options (kDisableDynamicTailSplit and kDynamicAlignment) as part of a refactoring effort.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7e8d1f8 and 39ad712.

📒 Files selected for processing (7)
  • examples/dynamic_shape/example_dynamic.py (0 hunks)
  • examples/dynamic_shape/test_example_dynamic.py (0 hunks)
  • src/op/builtin.cc (0 hunks)
  • src/op/builtin.h (0 hunks)
  • testing/python/dynamic/test_tilelang_dynamic_symbolic.py (0 hunks)
  • testing/python/dynamic/test_tilelang_dynamic_symbolic_bench.py (0 hunks)
  • tilelang/transform/pass_config.py (0 hunks)
💤 Files with no reviewable changes (7)
  • examples/dynamic_shape/test_example_dynamic.py
  • src/op/builtin.h
  • tilelang/transform/pass_config.py
  • testing/python/dynamic/test_tilelang_dynamic_symbolic.py
  • src/op/builtin.cc
  • examples/dynamic_shape/example_dynamic.py
  • testing/python/dynamic/test_tilelang_dynamic_symbolic_bench.py
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Test for Python 3.12 with CUDA-12.8 (on self-hosted-nvidia)
  • GitHub Check: Test for Python 3.12 with Nightly-ROCm-7.1 (on self-hosted-amd)
  • GitHub Check: Test for Python 3.12 with Metal (on macos-latest)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@LeiWang1999 LeiWang1999 merged commit a874e4e into tile-ai:main Dec 21, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant