[package] name = "ruvector-fpga-transformer" version = "0.1.0" edition = "2021" rust-version = "1.77" authors = ["RuVector Team"] license = "MIT OR Apache-2.0" description = "FPGA Transformer backend with deterministic latency, quantization-first design, and coherence gating" repository = "https://github.com/ruvnet/ruvector" keywords = ["fpga", "transformer", "inference", "quantization", "low-latency"] categories = ["algorithms", "embedded", "hardware-support"] readme = "README.md" [lib] crate-type = ["rlib"] [features] default = ["daemon", "native_sim", "witness"] # Backend selection daemon = [] native_sim = [] pcie = ["memmap2"] # WASM support wasm = ["wasm-bindgen", "getrandom/js", "js-sys"] # Verification strict_verify = [] witness = [] # Inference options topk_only = [] lut_softmax = [] pwl_softmax = [] # Development trace = [] [dependencies] # Core thiserror = "2.0" anyhow = "1.0" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" # Crypto for artifact verification sha2 = "0.10" ed25519-dalek = { version = "2.1", features = ["rand_core"] } rand_core = { version = "0.6", features = ["getrandom"] } rand = "0.8" hex = "0.4" serde_bytes = "0.11" # Async for daemon communication tokio = { version = "1.41", features = ["io-util", "net", "sync", "rt"], optional = true } # Memory mapping for PCIe memmap2 = { version = "0.9", optional = true } # WASM bindings wasm-bindgen = { version = "0.2", optional = true } js-sys = { version = "0.3", optional = true } getrandom = { version = "0.2", optional = true } # Tracing for development tracing = "0.1" [dev-dependencies] criterion = { version = "0.5", features = ["html_reports"] } proptest = "1.5" rand = "0.8" tokio = { version = "1.41", features = ["rt-multi-thread", "macros"] } [[bench]] name = "latency" harness = false [[bench]] name = "correctness" harness = false [[bench]] name = "gating" harness = false [[example]] name = "basic_inference" path = "examples/basic_inference.rs" [[example]] name = "daemon_client" path = "examples/daemon_client.rs" required-features = ["daemon"]