how to compare two libraries with merits and demerits

It is an involved/complicated question. Key points:

- OpenFHE supports all common schemes, including BGV, BFV, CKKS, FHEW, and TFHE (not just TFHE), and even some switching between them
- OpenFHE uses NTTs rather than FTTs for polynomial multiplication
- CKKS is typically much faster for many ML applications than TFHE

On the other hand, the runtimes are slightly faster in TFHE (because of AVX and FFT) than in OpenFHEâ€™s implementation of TFHE.

NuFHE ls GPU implantation of TFHE which uses NTT instead of FFT. What are the benefits we are getting using of NTT instead of FFT. To be specific where can achieve speedup using of NTT in this library.

Hypothetically speaking, one advantage is when you want to support larger moduli (for example, 128-bit moduli) to get higher plaintext precision or certain leveled operations. In the case of FFT, you would have to work with large-precision floats, quad floats or higher. In the NTT setting, you can trivially use RNS to support larger moduli by working with a product of small primes using CRT, which scale linearly.

Another advantage is a higher granularity in modulus size and use of a smaller distribution parameter, like 3.19.

Thanks for valuable information sir