Skip to content

Failure to Build Against CUDA 13 #184

@sempervictus

Description

@sempervictus

Trying to build the qwen demo, ran into:

Expected symbol in library: DlSym { desc: "/opt/cuda/lib64/libnvrtc.so: undefined symbol: nvrtcGetNVVM" }
stack backtrace:
   0: __rustc::rust_begin_unwind
   1: core::panicking::panic_fmt
   2: core::result::unwrap_failed
   3: cudarc::nvrtc::sys::loaded::Lib::new
   4: std::sync::poison::once::Once::call_once_force::{{closure}}
   5: std::sys::sync::once::futex::Once::call
   6: std::sync::once_lock::OnceLock<T>::initialize
   7: cudarc::nvrtc::result::create_program
   8: cudarc::nvrtc::safe::compile_ptx_with_opts
   9: luminal_cuda::compile_and_load_kernel
  10: luminal_cuda::prim::CudaContiguous<T>::new
  11: <luminal_cuda::prim::PrimitiveCompiler<T> as luminal::compiler_utils::Compiler>::compile
  12: luminal::graph::Graph::compile
  13: qwen::main

package shows as:

Name            : cuda
Version         : 13.0.2-2
Description     : NVIDIA's GPU programming toolkit

the lib in question is:

Version definition section '.gnu.version_d' contains 2 entries:
 Addr: 0x0000000000003c60  Offset: 0x00003c60  Link: 5 (.dynstr)
  000000: Rev: 1  Flags: BASE  Index: 1  Cnt: 1  Name: libnvrtc.so.13
  0x0014: Rev: 1  Flags: none  Index: 2  Cnt: 1  Name: libnvrtc.so.13

Version needs section '.gnu.version_r' contains 5 entries:
 Addr: 0x0000000000003c90  Offset: 0x00003c90  Link: 5 (.dynstr)
  000000: Version: 1  File: ld-linux-x86-64.so.2  Cnt: 1
  0x0010:   Name: GLIBC_2.3  Flags: none  Version: 11
  0x0020: Version: 1  File: libm.so.6  Cnt: 1
  0x0030:   Name: GLIBC_2.2.5  Flags: none  Version: 7
  0x0040: Version: 1  File: libdl.so.2  Cnt: 1
  0x0050:   Name: GLIBC_2.2.5  Flags: none  Version: 5
  0x0060: Version: 1  File: libc.so.6  Cnt: 5
  0x0070:   Name: GLIBC_2.6  Flags: none  Version: 12
  0x0080:   Name: GLIBC_2.3.4  Flags: none  Version: 10
  0x0090:   Name: GLIBC_2.3  Flags: none  Version: 9
  0x00a0:   Name: GLIBC_2.7  Flags: none  Version: 6
  0x00b0:   Name: GLIBC_2.2.5  Flags: none  Version: 4
  0x00c0: Version: 1  File: libpthread.so.0  Cnt: 2
  0x00d0:   Name: GLIBC_2.3.2  Flags: none  Version: 8
  0x00e0:   Name: GLIBC_2.2.5  Flags: none  Version: 3

Any chance someone has a dockerfile in their back pocket to stabilize build/run targets a bit given the slew of CUDA environment setups out there?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions