NVIDIA / NVIDIA/cutlass

[BUG] CuTeDSL editable install broken: prep_editable_install.py extracts nothing from the split nvidia-cutlass-dsl wheels (>= 4.4.0)

Open
#3,416 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

inactive-30d
Dominant language
C++
Stars
10.5k
Forks
2.1k
Avg merge
3d 11h
Merged PRs (30d)
7

Description

python/CuTeDSL/prep_editable_install.py downloads nvidia-cutlass-dsl with pip download --no-deps. Since 4.4.0 that wheel is a metadata-only shim (nvidia_cutlass_dsl-4.6.1-py3-none-any.whl is ~10 KB: one .pth + dist-info); the actual libraries live in nvidia-cutlass-dsl-libs-{base,core,cu12,cu13} wheels, under dsl_packages/ rather than python_packages/. The script therefore copies nothing — Summary: 0 lib files, 0 Python files copied — but still logs "Setup completed successfully!" and exits 0. The subsequent pip install -e . / setup.sh --editable also succeeds, and the breakage only surfaces at first use: import cutlassModuleNotFoundError: No module named 'cutlass._mlir'.

Repro: fresh venv on x86_64/aarch64 Linux, python prep_editable_install.py at any commit since the script landed.

Fix proposal in the linked PR: detect the shim, follow its nvidia-cutlass-dsl-libs-* Requires-Dist for one CUDA variant, merge all payload dirs, error loudly on empty extraction. PR #3204 previously attempted this but is stale and predates the 4.6.x layout (its default base provider no longer contains lib/*.so).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in python/CuTeDSL/prep_editable_install.py and reproduce the empty extraction with python prep_editable_install.py in a fresh Linux virtual environment. Inspect the metadata-only nvidia-cutlass-dsl wheel and its nvidia-cutlass-dsl-libs-* Requires-Dist entries, including the 4.6.x dsl_packages layout. Done means the libraries are copied for a CUDA variant, empty extraction fails loudly, and import cutlass succeeds after editable installation.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
75/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.