INNER CODE UNIT · Rust

spilling_kernel_nvvm_ir

NVlabs/cuda-oxide · cuda-oxide/crates/cuda-artifact-finalizer/src/lib.rs:516

    fn spilling_kernel_nvvm_ir(values: usize, rounds: usize, maxnreg: u32) -> String {
        use std::fmt::Write;

        let mut body = String::new();
        for i in 0..values {
            let _ = writeln!(
                body,
                "  %ptr{i} = getelementptr inbounds float, float* %data, i64 {i}"
            );
            let _ = writeln!(body, "  %v0_{i} = load float, float* %ptr{i}, align 4");
        }
        for round in 0..rounds {
            let next = round + 1;
            for i in 0..values {
                let mul_with = (i + 1) % values;
                let add_with = (i + 3) % values;
                let _ = writeln!(
                    body,

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…