Files

95 lines
2.0 KiB
TOML

[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"]