Hi,
I am usuing Ubuntu 22.04 and I installed TFHE-rs in the /home/tfhe-rs folder.
Q1. Now, I wonder how I can run the benchmarks listed on this webpage:
https://docs.zama.ai/tfhe-rs/guides/run_on_gpu#benchmarks
Q2. I wonder how I can run any of the benchmark files in the tfhe/benches folder. In fact, I am new in Rust and not very good at running its code. I ran the following code:
cargo run --example pbs_count --features=“integer pbs-stats”
And then Rust runs target/debug/examples/pbs-stats. However, I wonder how I can run other examples in the tfhe/benches folder.
Q3. In the target/release/examples folder, I see libfhe.a and libfhe.so. Is this the compiled library of TFHE-rs? Then, can I use the functions in these libraries as if they were C/C++ functions? Is so, is there any API documentation of libfhe.a?
Q4. In my project, I am trying to do scheme switching from BFV to TFHE, which converts a BFV ciphertext into a TFHE ciphertext encrypting the same value. After I do this conversion, each converted TFHE ciphertext contains a single integer plaintext within the [0, p] range. And my goal is to do bootstrapping on this TFHE ciphertext. As TFHE-rs is very fast for bootstrapping, I want to use its bootstrapping. However, I think TFHE-rs encodes each plaintext integer inside a ciphertext as binary bits, where each bit is separately encrypted as a ciphertext in TFHE-rs, right? If so, I think the scheme switching from BFV to TFHE-rs may not be compatible, because their plaintext representations are different, is this correct?