INNER CODE UNIT · Rust
live_pipeline_accepts_toolkit_cubins_and_emits_ptx_for_both_fma_policies
NVlabs/cuda-oxide · cuda-oxide/crates/cuda-artifact-finalizer/src/lib.rs:429
fn live_pipeline_accepts_toolkit_cubins_and_emits_ptx_for_both_fma_policies() {
let finalizer = Finalizer::discover().unwrap();
assert!(finalizer.provenance_digest().is_some());
let target: CudaArch = "sm_86".parse().unwrap();
for (allow_fma, debug) in [
(false, DebugPolicy::None),
(false, DebugPolicy::LineTables),
(true, DebugPolicy::Full),
] {
let options = FinalizationOptions::new(target.clone())
.with_fma_contraction(allow_fma)
.with_debug_policy(debug);
let ltoir = finalizer
.compiler()
.compile_nvvm_ir_to_ltoir("kernel.ll", LEGACY_NVVM_IR, &options)
.unwrap();
assert!(!ltoir.is_empty());