jump to:allmastodonblueskylemmylobstersdevstackwikirsshn
wwebbit
view: | | |

Front page / Lobsters · hot matching “pdf”

2 shown · updated 41s ago · read only
  1. GPU Offload in Rust: Portable, Safe, and Fast (arxiv.org)lobsters

    2 points by theelx in lobste.rs · 1h ago · 1 lobsters

    High-performance GPU programming has traditionally forced a compromise between execution efficiency and memory safety. While Rust guarantees compile-time memory safety for host CPUs via its strict ownership model, applying these constraints to massively parallel GPU execution environments has previously mandated either vendor-locked Domain-Specific Languages (DSLs) or escaping to explicit unsafe raw pointers. This paper presents a zero-overhead, multi-vendor GPU compilation framework built natively into the Rust compiler (rustc) and LLVM backends. We leverage Rust’s rich type system, ownership system, and strict aliasing guarantees (𝑛𝑜𝑎𝑙𝑖𝑎𝑠) to efficiently manage and optimize data transfers through LLVM’s Offload infrastructure. We expose the technical challenges of cross-vendor ABI lowering mismatches between Host and Device targets and introduce a two-pass compilation pipeline capable of safely handling both manual and compiler-generated memory movements. Evaluating our framework on RAJAPerf demonstrates that our rustc-based solution can generate competitive LLVM IR for GPU kernels, achieving a solid kernel performance against native, hand-optimized CUDA and HIP C++ baselines.
    filed under compilerspdfrust
  2. Tsampi BFT: Leaderless One-Round Voting with Parameterized Finality (tsampi.com)lobsters

    1 points by readevalprint in lobste.rs · 1h ago · lobsters

    Tsampi BFT is a leaderless Byzantine fault-tolerant state-replication protocol with one Vote round per Proposed Block and exact-lineage finality in as few as two later Blocks. Its dual-linked Vote chain records both Block-lineage causality and each Validator's endorsement order. Earlier Votes are neither revoked nor reassigned; every successor must prove that it targets a strictly better proposal. A strict supermajority has more than two thirds of the Stake in the Validator set used for a Block. Q1 is the strict-supermajority Vote pass that sets QuorumBlock. Q2 is the later, independently deduplicated strict-supermajority Vote pass that sets CoveredBlock. Q2 starts empty after Q1 closes. A Validator counted in Q1 may count in Q2 only through a different, later Vote carried by a later descendant Block. Proposal admission is parameterized independently of finality. Under an unchanged Validator set and an endorsement threshold of at least two thirds, genesis reaches QuorumBlock in Block 2 and CoveredBlock in Block 3; the steady-state pipeline keeps a one-Block lag between them. Proposal admission may use a lower threshold, but every accepted Block must advance the lineage toward strict-supermajority finality.