I’ve been exploring the concrete library and noticed it already has nearly 20,000 lines of code. Given its extensive codebase, I’m curious about its dependencies, particularly regarding tfhe-rs. Does concrete
depend on tfhe-rs
, or is it the other way around?
Hello @IsaacQuebec ,
Concrete use tfhe-rs as a backend to execute crypto primitives, the bridge between the code generated by the compiler and tfhe-rs is implemented in concrete-cpu (backends/concrete-cpu/implementation).
I’ve noticed a substantial difference in the amount of Rust code between two repositories: there are 2182 lines of Rust code in the backends/concrete-cpu/implementation
directory of concrete, compared to 153911 lines in the entire tfhe-rs repo. This disparity has piqued my curiosity. Could it be that the concrete repository operates independently of tfhe-rs?
Not sure what you want to say by operates independently? The difference of loc between the two project reside in the fact that concrete-cpu is just a wrapper of a little part of tfhe-rs, thfe-rs implements a lot of high level concept or abstractions that the compiler do not actually use.
Upon examining the Cargo.toml
file within the backends/concrete-cpu/implementation
directory, I observed the following lines:
tfhe = { version = "0.4", features = [] }
[target.x86_64-unknown-unix-gnu.dependencies]
tfhe = { version = "0.4", features = ["x86_64-unix"] }
This configuration suggests that tfhe-rs
is indeed a dependency for concrete
?
yes TFHE-rs is used in our backend