- FFT can work for any polynomial size, as long as twiddles are provided.
- All the twiddles fit in the constant memory.
- Bit reverse is not used anymore, no more sw1 and sw2 arrays in constant memory.
- Real to complex compression algorithm is changed.
- Twiddle initialization functions are removed.
- Add FP-Keyswitch.
- Add entry points for cuda fk ksk in the public API.
- Add test for fp_ksk in cuda backend.
- Add fixture for bit extract
Co-authored-by: agnesLeroy <agnes.leroy@zama.ai>
- rename l_gadget and stop calling low lat PBS with N too large
- rename trlwe and trgsw
- rename lwe_mask_size into lwe_dimension
- rename lwe_in into lwe_array_in
- rename lwe_out into lwe_array_out
- rename decomp_level into level
- rename lwe_dimension_before/after into lwe_dimension_in/out
- a new crate concrete-cuda is added to the repository, containing some
Cuda implementations for the bootstrap and keyswitch and a Rust wrapping
to call them
- a new backend_cuda is added to concrete-core, with dedicated entities
whose memory is located on the GPU and engines that call the Cuda
accelerated functions