You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[BUG] CuTe DSL: export_to_c fails for a --gpu-arch other than the current GPU's #3680
export_to_c fails on the plain C path (no --enable-tvm-ffi) when the function was compiled for a different arch than the current GPU. For example, --gpu-arch sm_90a on a B200:
JIT session error: Symbols not found: [ _cuKernelGetAttribute, _cudaDeviceGetAttribute, _cudaFuncSetAttribute, _cudaGetDevice, _cudaKernelSetAttributeForDevice, _cudaLaunchKernelEx, _cudaLibraryGetKernel, _cudaLibraryLoadData ]
error: Error dumping object file: Failed to dump object file with PIC relocation
The same export works for the native arch, and it also works if I load the runtime libraries RTLD_GLOBAL first. My guess is that no execution engine gets built for an arch the GPU can't run, so libcute_dsl_runtime.so never gets loaded before the object dump.
#2859 had the same error on the TVM-FFI path and was fixed in 4.3.3; the TVM-FFI path does export cross-arch now. The plain C path still fails. Workaround: preload cute.runtime.find_runtime_libraries() with RTLD_GLOBAL.
Activity
brandon-yujie-sun commentedon Oct 7, 2026
Thanks for reporting this. We got a fix for this and would include it in the next release.