Skip to content

[ROCm] Remove tilelang as a hard ROCm dependency#992

Merged
mgehre-amd merged 1 commit into
gfx11from
matthias.remove-tilelang-rocm-dep
Jun 9, 2026
Merged

[ROCm] Remove tilelang as a hard ROCm dependency#992
mgehre-amd merged 1 commit into
gfx11from
matthias.remove-tilelang-rocm-dep

Conversation

@mgehre-amd

@mgehre-amd mgehre-amd commented Jun 9, 2026

Copy link
Copy Markdown

tilelang is used only for the DeepSeek V4 MHC kernels on AMD, with has_tilelang() guards everywhere so the unfused fallback path is taken when it is absent. Making it a hard install_requires causes two problems:

  1. The TVM shared library bundled with tilelang aborts (SIGABRT) on some Strix Halo CI runners during pytest collection, killing the entire test process before any test runs.
  2. It adds ~48 MiB of TVM machinery to every ROCm vLLM installation even on systems that never run DeepSeek V4.

Remove tilelang from requirements/rocm.txt, requirements/build/rocm.txt, and requirements/test/rocm.in.

Fixes CI failure

Fatal Python error: Aborted

Current thread 0x00007ccb7c5c9b80 (most recent call first):
  File "/usr/local/lib/python3.12/ctypes/__init__.py", line 379 in __init__
  File "/usr/local/lib/python3.12/site-packages/tilelang/__init__.py", line 141 in lazy_init
  File "/usr/local/lib/python3.12/site-packages/tilelang/3rdparty/tvm/python/tvm/libinfo.py", line 153 in load_lib_ctypes
  File "/usr/local/lib/python3.12/site-packages/tilelang/3rdparty/tvm/python/tvm/base.py", line 60 in <module>
  File "<frozen importlib._bootstrap>", line 488 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 999 in exec_module
  File "<frozen importlib._bootstrap>", line 935 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1331 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1360 in _find_and_load
  File "/usr/local/lib/python3.12/site-packages/tilelang/3rdparty/tvm/python/tvm/__init__.py", line 29 in <module>
  File "<frozen importlib._bootstrap>", line 488 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 999 in exec_module
  File "<frozen importlib._bootstrap>", line 935 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1331 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1360 in _find_and_load
  File "/usr/local/lib/python3.12/site-packages/tilelang/__init__.py", line 173 in <module>
  File "<frozen importlib._bootstrap>", line 488 in _call_with_frames_removed
  File "<frozen importlib._bootstrap_external>", line 999 in exec_module
  File "<frozen importlib._bootstrap>", line 935 in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1331 in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1360 in _find_and_load
  File "<frozen importlib._bootstrap>", line 1387 in _gcd_import
  File "/usr/local/lib/python3.12/importlib/__init__.py", line 90 in import_module
  File "/usr/local/lib/python3.12/site-packages/vllm/utils/import_utils.py", line 406 in _has_module

tilelang is used only for the DeepSeek V4 MHC kernels on AMD, with
`has_tilelang()` guards everywhere so the unfused fallback path is taken
when it is absent. Making it a hard install_requires causes two problems:

1. The TVM shared library bundled with tilelang aborts (SIGABRT) on
   some Strix Halo CI runners during pytest collection, killing the
   entire test process before any test runs.
2. It adds ~48 MiB of TVM machinery to every ROCm vLLM installation
   even on systems that never run DeepSeek V4.

Remove tilelang from requirements/rocm.txt, requirements/build/rocm.txt,
and requirements/test/rocm.in. Users who want the fused MHC path can
install it manually: `pip install tilelang==0.1.10`.

Signed-off-by: Matthias Gehre <matthias.gehre@amd.com>
@mgehre-amd mgehre-amd requested a review from roberteg16 June 9, 2026 11:44
@mgehre-amd mgehre-amd removed the request for review from AndreasKaratzas June 9, 2026 11:44
@mgehre-amd mgehre-amd merged commit 9eb0e1e into gfx11 Jun 9, 2026
7 of 8 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.

2 participants