Does concrete depend on tfhe-rs?

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