[BUG] CuTeDSL editable install broken: prep_editable_install.py extracts nothing from the split nvidia-cutlass-dsl wheels (>= 4.4.0)
Nobody has claimed this yet.
- 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 cutlass → ModuleNotFoundError: 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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