INNER CODE UNIT · Rust
live_link_fails_when_nvjitlink_drops_an_expected_kernel
NVlabs/cuda-oxide · cuda-oxide/crates/cuda-artifact-finalizer/src/lib.rs:485
fn live_link_fails_when_nvjitlink_drops_an_expected_kernel() {
let unrooted = String::from_utf8_lossy(LEGACY_NVVM_IR)
.lines()
.filter(|line| !line.starts_with("@llvm.used"))
.collect::<Vec<_>>()
.join("\n");
let finalizer = Finalizer::discover().unwrap();
let options = FinalizationOptions::new("sm_86".parse().unwrap());
let ltoir = finalizer
.compiler()
.compile_nvvm_ir_to_ltoir("dropped.ll", unrooted.as_bytes(), &options)
.unwrap();
let input = [NamedInput::new("dropped.ltoir", <oir)];
for output in [FinalizerOutput::Cubin, FinalizerOutput::Ptx] {
let error = finalizer
.link_ltoir(&input, &options, output, &["kernel"])
.unwrap_err();
assert!(