95 lines
2.0 KiB
TOML
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"]
|