Open
Description
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
Labels
No labels