Show HN: Cuq – Formal Verification of Rust GPU Kernels
1–10 of 70 posts
Re: Show HN: Cuq – Formal Verification of Rust GPU Kernels
#2cuq takes the MIR dump of a Rust CUDA kernel and translates it into a minimal Coq semantics that emits memory events, which are then lined up with the PTX memory model formalized by Lustig et al., ASPLOS 2019.
Right now it supports:
* a simple saxpy kernel (no atomics)
* an atomic flag kernel using acquire/release semantics
* a "negative" kernel that fails type/order checking
The goal isn't a full verified compiler yet. It's a first step toward formally checking the safety of GPU kernels written in Rust (e.g. correct use of atomics, barriers, and memory scopes).
Happy to hear thoughts from folks working in Rust verification, GPU compilers, or Coq tooling.
Re: Show HN: Cuq – Formal Verification of Rust GPU Kernels
#3Re: Show HN: Cuq – Formal Verification of Rust GPU Kernels
#4This is pretty cool! Are you sure about the name...
Re: Show HN: Cuq – Formal Verification of Rust GPU Kernels
#5This is pretty cool! Are you sure about the name...
Re: Show HN: Cuq – Formal Verification of Rust GPU Kernels
#6This is pretty cool! Are you sure about the name...
Re: Show HN: Cuq – Formal Verification of Rust GPU Kernels
#7This is pretty cool! Are you sure about the name...
Re: Show HN: Cuq – Formal Verification of Rust GPU Kernels
#8edit: According to the author in a reply, the double entendre was in fact not intentional.
Re: Show HN: Cuq – Formal Verification of Rust GPU Kernels
#9Hi all, this is a small research prototype I built that connects Rust's MIR (Mid-level IR) to Coq, the proof assistant used for formal verification. cuq takes the MIR dump of a Rust CUDA kernel and translates it into a minimal Coq semantics that emits memory events, which are then lined up with the PTX memory model formalized by Lustig et al., ASPLOS 2019. Right now it supports: * a simple saxpy kernel (no atomics) *…
Re: Show HN: Cuq – Formal Verification of Rust GPU Kernels
#10This might be the worst named project of all time. Not funny and demonstrates an absolutely terrible impulse on the part of the author. Probably the worst way possible to advertise your project. edit: According to the author in a reply, the double entendre was in fact not intentional.