mirror of
https://github.com/zama-ai/tfhe-rs.git
synced 2026-01-06 21:34:05 -05:00
This backend abstract communication with Hpu Fpga hardware.
It define it's proper entities to prevent circular dependencies with
tfhe-rs.
Object lifetime is handle through Arc<Mutex<T>> wrapper, and enforce
that all objects currently alive in Hpu Hw are also kept valid on the
host side.
It contains the second version of HPU instruction set (HIS_V2.0):
* DOp have following properties:
+ Template as first class citizen
+ Support of Immediate template
+ Direct parser and conversion between Asm/Hex
+ Replace deku (and it's associated endianess limitation) by
+ bitfield_struct and manual parsing
* IOp have following properties:
+ Support various number of Destination
+ Support various number of Sources
+ Support various number of Immediat values
+ Support of multiple bitwidth (Not implemented yet in the Fpga
firmware)
Details could be view in `backends/tfhe-hpu-backend/Readme.md`
56 lines
1.2 KiB
TOML
56 lines
1.2 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"tfhe",
|
|
"tfhe-benchmark",
|
|
"tfhe-fft",
|
|
"tfhe-ntt",
|
|
"tfhe-zk-pok",
|
|
"tasks",
|
|
"tfhe-csprng",
|
|
"backends/tfhe-cuda-backend",
|
|
"backends/tfhe-hpu-backend",
|
|
"utils/tfhe-versionable",
|
|
"utils/tfhe-versionable-derive",
|
|
"utils/param_dedup",
|
|
"tests",
|
|
"mockups/tfhe-hpu-mockup",
|
|
]
|
|
|
|
exclude = [
|
|
"tests/backward_compatibility_tests",
|
|
"utils/tfhe-lints",
|
|
"apps/trivium",
|
|
]
|
|
[workspace.dependencies]
|
|
aligned-vec = { version = "0.6", default-features = false }
|
|
bytemuck = "1.14.3"
|
|
dyn-stack = { version = "0.11", default-features = false }
|
|
itertools = "0.14"
|
|
num-complex = "0.4"
|
|
pulp = { version = "0.21", default-features = false }
|
|
rand = "0.8"
|
|
rayon = "1"
|
|
serde = { version = "1.0", default-features = false }
|
|
wasm-bindgen = "0.2.100"
|
|
|
|
[profile.bench]
|
|
lto = "fat"
|
|
|
|
[profile.release]
|
|
lto = "fat"
|
|
|
|
[profile.release_lto_off]
|
|
inherits = "release"
|
|
lto = "off"
|
|
|
|
# Compiles much faster for tests and allows reasonable performance for iterating
|
|
[profile.devo]
|
|
inherits = "dev"
|
|
opt-level = 3
|
|
lto = "off"
|
|
debug-assertions = false
|
|
|
|
[workspace.metadata.dylint]
|
|
libraries = [{ path = "utils/tfhe-lints" }]
|