[BUG] CuTe DSL 4.7.1 TVM-FFI AOT objects reference symbols missing from `libcuda_dialect_runtime_static.a`
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.5k
- Forks
- 2.1k
- Avg merge
- 3d 11h
- Merged PRs (30d)
- 7
Description
Which component has the problem?
CuTe DSL
Bug Report
Describe the bug
CuTe DSL 4.7.1 generates TVM-FFI-enabled AOT object files that reference the following runtime symbols:
CuteDSLRT_TVMFFISetRaisedCudaError
CuteDSLRT_TVMFFISetRaisedCudaLaunchError
However, these symbols are not provided by the packaged libcuda_dialect_runtime_static.a.
They are only exported by libcute_dsl_runtime.so.
As a result, an AOT object generated with TVM-FFI enabled can no longer be linked using the static CUDA dialect runtime that worked for previous CuTe DSL versions.
This appears to be either:
- a missing-object packaging issue in
libcuda_dialect_runtime_static.a, or - an undocumented breaking change requiring TVM-FFI C++ AOT users to switch from
libcuda_dialect_runtime_static.ato the shared
libcute_dsl_runtime.so.
Steps/Code to reproduce bug
Install CuTe DSL 4.7.1 with CUDA 13 support:
$ pip3 install "nvidia-cutlass-dsl[cu13]==4.7.1"
LIBDIR="$(python -m cutlass.cute.export.aot_config --libdir)"
The required symbol is absent from the static CUDA dialect runtime:
$ nm -g --defined-only "${LIBDIR}/libcuda_dialect_runtime_static.a" | grep CuteDSLRT_TVMFFISetRaisedCuda
=> no output
The symbol is present in the shared CuTe DSL runtime:
nm -D --defined-only "${LIBDIR}/libcute_dsl_runtime.so" | grep CuteDSLRT_TVMFFISetRaisedCuda
=>
00000000001aec00 T CuteDSLRT_TVMFFISetRaisedCudaError
00000000001aec70 T CuteDSLRT_TVMFFISetRaisedCudaLaunchError
Linking the generated object with only libcuda_dialect_runtime_static.a therefore fails:
undefined reference to `CuteDSLRT_TVMFFISetRaisedCudaError'
Expected behavior
Should be able to compile with static library link? Or is it an intended breaking change?
Environment details (please complete the following information):
nvidia-cutlass-dsl: 4.7.1
nvidia-cutlass-dsl-libs-cu13: 4.7.1
apache-tvm-ffi: 0.1.13.post3
Additional context
Add any other context about the problem here.
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 by installing nvidia-cutlass-dsl 4.7.1 and locating the packaged libraries with cutlass.cute.export.aot_config --libdir. Compare the symbols in libcuda_dialect_runtime_static.a and libcute_dsl_runtime.so, then trace how TVM-FFI AOT objects select the runtime. Done means static linking resolves both symbols, or the shared-library requirement is clearly documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, python
- Domain
- backend, build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100