+
Skip to content

undefined symbol: cuLogsCurrent (cuda 12.9, cudarc 0.16.6, ubuntu 15.04) #422

Open
@erschmny

Description

@erschmny

Hello, I just recently upgraded my computer (and thus also cuda) and now after updating from 0.13 to 0.16, I'm getting the following error with a simple test program taken from the readme. I'm using cudarc 0.16.6 with the cuda-12090 feature on Ubuntu 25.04 x86_64 using Cuda 12.9, V12.9.86. I would appreciate any help in resolving this

Here is the full traceback:

thread 'main' panicked at /home/eric/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cudarc-0.16.6/src/driver/sys/mod.rs:20809:18:
Expected symbol in library: DlSym { desc: "/lib/x86_64-linux-gnu/libcuda.so: undefined symbol: cuLogsCurrent" }
stack backtrace:
   0:     0x626fba6119d2 - std::backtrace_rs::backtrace::libunwind::trace::h74680e970b6e0712
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
   1:     0x626fba6119d2 - std::backtrace_rs::backtrace::trace_unsynchronized::ha3bf590e3565a312
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
   2:     0x626fba6119d2 - std::sys::backtrace::_print_fmt::hcf16024cbdd6c458
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/sys/backtrace.rs:66:9
   3:     0x626fba6119d2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h46a716bba2450163
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/sys/backtrace.rs:39:26
   4:     0x626fba62eb63 - core::fmt::rt::Argument::fmt::ha695e732309707b7
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/fmt/rt.rs:181:76
   5:     0x626fba62eb63 - core::fmt::write::h275e5980d7008551
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/fmt/mod.rs:1446:25
   6:     0x626fba60f9d3 - std::io::default_write_fmt::hdc4119be3eb77042
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/io/mod.rs:639:11
   7:     0x626fba60f9d3 - std::io::Write::write_fmt::h561a66a0340b6995
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/io/mod.rs:1914:13
   8:     0x626fba611822 - std::sys::backtrace::BacktraceLock::print::hafb9d5969adc39a0
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/sys/backtrace.rs:42:9
   9:     0x626fba612892 - std::panicking::default_hook::{{closure}}::hae2e97a5c4b2b777
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:300:22
  10:     0x626fba612695 - std::panicking::default_hook::h3db1b505cfc4eb79
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:327:9
  11:     0x626fba613142 - std::panicking::rust_panic_with_hook::h409da73ddef13937
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:833:13
  12:     0x626fba612fda - std::panicking::begin_panic_handler::{{closure}}::h159b61b27f96a9c2
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:706:13
  13:     0x626fba611ec9 - std::sys::backtrace::__rust_end_short_backtrace::h5b56844d75e766fc
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/sys/backtrace.rs:168:18
  14:     0x626fba612c6d - __rustc[4794b31dd7191200]::rust_begin_unwind
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:697:5
  15:     0x626fba5d34b0 - core::panicking::panic_fmt::hc8737e8cca20a7c8
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/panicking.rs:75:14
  16:     0x626fba5d3846 - core::result::unwrap_failed::h727108008d9f4c9b
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/result.rs:1732:5
  17:     0x626fba5e2aab - core::result::Result<T,E>::expect::hae62c20af480106c
                               at /home/eric/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:1089:23
  18:     0x626fba5e2aab - cudarc::driver::sys::loaded::Lib::from_library::h9906b63d0acb3971
                               at /home/eric/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cudarc-0.16.6/src/driver/sys/mod.rs:20806:33
  19:     0x626fba5eb095 - cudarc::driver::sys::loaded::Lib::new::he9f043f4863bea0f
                               at /home/eric/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cudarc-0.16.6/src/driver/sys/mod.rs:19130:13
  20:     0x626fba5eb095 - cudarc::driver::sys::loaded::culib::{{closure}}::h6320c2ccc95e8244
                               at /home/eric/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cudarc-0.16.6/src/driver/sys/mod.rs:23549:34
  21:     0x626fba5eb095 - std::sync::once_lock::OnceLock<T>::get_or_init::{{closure}}::h35d45905d0d89b8a
                               at /home/eric/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/once_lock.rs:310:50
  22:     0x626fba5eb095 - std::sync::once_lock::OnceLock<T>::initialize::{{closure}}::h07af10536ca00d30
                               at /home/eric/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/once_lock.rs:518:19
  23:     0x626fba5eb095 - std::sync::poison::once::Once::call_once_force::{{closure}}::h6606ed73922a512e
                               at /home/eric/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/poison/once.rs:214:40
  24:     0x626fba5d2d44 - std::sys::sync::once::futex::Once::call::hc350b5daaffc59b3
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/sys/sync/once/futex.rs:176:21
  25:     0x626fba5d20fa - std::sync::poison::once::Once::call_once_force::h00e6d0c1c7866c46
                               at /home/eric/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/poison/once.rs:214:9
  26:     0x626fba5d20fa - std::sync::once_lock::OnceLock<T>::initialize::h87c2b023571f6831
                               at /home/eric/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/once_lock.rs:517:9
  27:     0x626fba5e97a6 - std::sync::once_lock::OnceLock<T>::get_or_try_init::h2f1fcf4796cc3b94
                               at /home/eric/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/once_lock.rs:396:9
  28:     0x626fba5e97a6 - std::sync::once_lock::OnceLock<T>::get_or_init::h9fddc903c32e43cf
                               at /home/eric/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sync/once_lock.rs:310:15
  29:     0x626fba5e97a6 - cudarc::driver::sys::loaded::culib::hd4ddf74869d9bdac
                               at /home/eric/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cudarc-0.16.6/src/driver/sys/mod.rs:23541:13
  30:     0x626fba5e97a6 - cudarc::driver::sys::loaded::cuInit::h5dbed09f0f80dd50
                               at /home/eric/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cudarc-0.16.6/src/driver/sys/mod.rs:13694:10
  31:     0x626fba5e97a6 - cudarc::driver::result::init::h8fd7c0fde45c94a3
                               at /home/eric/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cudarc-0.16.6/src/driver/result.rs:89:14
  32:     0x626fba5e97a6 - cudarc::driver::safe::core::CudaContext::new::h2af5f9698939dbb9
                               at /home/eric/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/cudarc-0.16.6/src/driver/safe/core.rs:62:9
  33:     0x626fba5d48f1 - cuda_tests::main::h1b23372ba978d65e
                               at /home/eric/Documents/theia-dev-environment/cuda-tests/src/main.rs:5:15
  34:     0x626fba5d3e93 - core::ops::function::FnOnce::call_once::h85dd7609d776c92b
                               at /home/eric/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
  35:     0x626fba5d3e93 - std::sys::backtrace::__rust_begin_short_backtrace::hb004968c9a7102f4
                               at /home/eric/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/backtrace.rs:152:18
  36:     0x626fba5d3ead - std::rt::lang_start::{{closure}}::hd17409f243bacce4
                               at /home/eric/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/rt.rs:199:18
  37:     0x626fba60ceb4 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::hb4b7cf0559a1a53b
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/core/src/ops/function.rs:284:13
  38:     0x626fba60ceb4 - std::panicking::try::do_call::h8e6004e979ada7de
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:589:40
  39:     0x626fba60ceb4 - std::panicking::try::hc44a0c902e55fa8c
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:552:19
  40:     0x626fba60ceb4 - std::panic::catch_unwind::h6a5f1ccd4faaed9e
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panic.rs:359:14
  41:     0x626fba60ceb4 - std::rt::lang_start_internal::{{closure}}::h40fd26f9e7cfe6a7
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/rt.rs:168:24
  42:     0x626fba60ceb4 - std::panicking::try::do_call::h047dd894cf3f6fd1
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:589:40
  43:     0x626fba60ceb4 - std::panicking::try::h921841e1eaed56ce
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panicking.rs:552:19
  44:     0x626fba60ceb4 - std::panic::catch_unwind::h108064a50ee785ec
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/panic.rs:359:14
  45:     0x626fba60ceb4 - std::rt::lang_start_internal::ha8ef919ae4984948
                               at /rustc/6b00bc3880198600130e1cf62b8f8a93494488cc/library/std/src/rt.rs:164:5
  46:     0x626fba5d575c - cudarc::cublas::sys::loaded::Lib::from_library::hfad41b845859a436
  47:     0x7fe67562a338 - __libc_start_call_main
                               at ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
  48:     0x7fe67562a3fb - __libc_start_main_impl
                               at ./csu/../csu/libc-start.c:360:3
  49:     0x626fba5d3bd5 - cudarc::runtime::sys::loaded::Lib::from_library::h1af0e34900a2aa6f
  50:                0x0 - <unknown>

Here is the code as tested

use cudarc::driver::{LaunchConfig, PushKernelArg as _};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Get a stream for GPU 0
    let ctx = cudarc::driver::CudaContext::new(0)?;
    let stream = ctx.default_stream();

    // copy a rust slice to the device
    let inp = stream.memcpy_stod(&[1.0f32; 100])?;

    // or allocate directly
    let mut out = stream.alloc_zeros::<f32>(100)?;

    let ptx = cudarc::nvrtc::compile_ptx(
        "
extern \"C\" __global__ void sin_kernel(float *out, const float *inp, const size_t numel) {
    unsigned int i = blockIdx.x * blockDim.x + threadIdx.x;
    if (i < numel) {
        out[i] = sin(inp[i]);
    }
}",
    )?;

    // Dynamically load it into the device
    let module = ctx.load_module(ptx)?;
    let sin_kernel = module.load_function("sin_kernel")?;

    let mut builder = stream.launch_builder(&sin_kernel);
    builder.arg(&mut out);
    builder.arg(&inp);
    builder.arg(&100usize);
    unsafe { builder.launch(LaunchConfig::for_num_elems(100)) }?;

    let out_host: Vec<f32> = stream.memcpy_dtov(&out)?;
    assert_eq!(out_host, [1.0; 100].map(f32::sin));

    Ok(())
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载