vyre · open source · MIT

Sequential logic on the GPU, bit-exact against your CPU.

GPUs are fast at parallel math and awkward at everything sequential: state machines, parsers, scanners, graph walks. vyre is the compiler substrate for that case. You write the logic once, and vyre runs it on NVIDIA, AMD, or Apple hardware while producing the same results as the CPU, verified bit for bit.

Use it

library
cargo add vyre
from source
git clone https://github.com/santhreal/vyre && cd vyre && cargo build --release

You write in C11 today (a Rust frontend is in beta). vyre compiles the same logic to CUDA, WGPU, Metal, or SPIR-V.

What you can express

Sequential programs need real data structures, not just buffers. vyre gives each workgroup (the cluster of GPU threads that shares fast on-chip memory) its own stacks, queues, and hashmaps, plus compiler machinery on top: dominator trees and fixed-point dataflow. An Aho-Corasick automaton, a lexer, or a graph walk maps onto these directly instead of being rewritten into a parallel shape it does not have.

Conformance against a CPU reference

Every vyre backend runs against a CPU reference implementation, and the conformance gate rejects any backend that diverges by a single bit. That is what makes GPU dispatch safe as a default rather than an opt-in.

Who runs on it

keyhog, our secret scanner, is the first production tool on vyre. Its GPU path compiles detectors into an Aho-Corasick automaton and scans a full Linux kernel checkout in a couple of seconds, with findings bit-identical to the SIMD CPU path. Downstream tools that need GPU-accelerated scanning or high-throughput sequential matching can build on the same substrate.

Get it

github.com/santhreal/vyre - source, issues, and the conformance evidence gates. The crate is on crates.io.