Commit Graph

30 Commits

Author SHA1 Message Date
Beka Barbakadze
471ebc080b feat(backend-gpu): implement integer multiplication, including test and benchmark 2023-08-11 12:54:18 -03:00
Pedro Alves
b91a736cd6 fix(backend-gpu): minor fixes to the rust API 2023-07-26 10:43:43 -03:00
Pedro Alves
ae43e7ffe5 feat(backend-gpu): implement the multi-bit PBS 2023-07-11 12:25:18 -03:00
Pedro Alves
5b103acbd9 feat(backend-gpu): expose a rust API for concrete-cuda 2023-07-07 13:15:56 -03:00
Pedro Alves
a4ef7543a6 feat(backend-gpu): introduce a function to check for cooperative groups support 2023-06-27 08:48:39 -03:00
Agnes Leroy
3561b51329 bench(backend-gpu): add multi-gpu support in pbs benchmark
Remove amortized PBS bench & bench with copy as well, it is deprecated
2023-05-24 15:32:20 +02:00
Agnes Leroy
72ee8eb572 fix(backend-gpu): decrease opt values for N >= 2048 for new low lat pbs 2023-05-23 11:34:53 +02:00
Agnes Leroy
b174f81687 fix(backend-gpu): avoid warp branching in the PBS 2023-05-17 15:01:37 +02:00
Pedro Alves
43a58e1820 refactor(backend-gpu): replace the amortized PBS by the new low latency PBS in boolean gates. 2023-05-05 18:15:06 +02:00
Pedro Alves
336709a011 refactor(backend-gpu): replace the amortized PBS by the new low latency PBS in circuit bootstrap 2023-05-05 18:15:06 +02:00
Pedro Alves
dda65a4ac6 refactor(backend-gpu): implement an alternative to the low latency pbs 2023-05-05 18:15:06 +02:00
Beka Barbakadze
d57cbfd705 fix(backend-cuda): modify bit extract to work for batch lwe ciphertexts 2023-05-05 13:01:07 +02:00
Agnes Leroy
1e8a5b0d14 fix(backend-gpu): fix cmux tree for tau > 1 2023-04-25 10:29:07 +02:00
Pedro Alves
fa226e232f feat(backend-gpu): refactor the Wop-PBS implementation to support a wider set of parameters 2023-04-17 09:45:17 +02:00
Pedro Alves
fb862e37e8 bench(backend/gpu): fixes a memory leakage and refactors the verification for the grid size of the low latency kernel 2023-04-03 17:49:33 +02:00
Pedro Alves
c236dffdd8 chore(backend/cuda): reduces memory consumption in the bootstrap benchmark 2023-04-03 17:49:33 +02:00
Beka Barbakadze
adf7adffa3 feat(backend/cuda): add tests for fft in concrete-cuda. fix shared memory mode choosing bug, when compute capability was lower than 8. 2023-03-30 11:12:08 +02:00
Agnes Leroy
573f4756fd fix(concrete_cuda): fix buffer size type in the scratches, int is not big enough 2023-03-22 15:55:15 +01:00
Beka Barbakadze
b5839a3993 feat(concrete-cuda): Added classical pbs support for 2^14 polynomial size, added corresponding tests. 2023-03-20 13:10:31 +01:00
Agnes Leroy
dff6532f2f chore(concrete_cuda): update cmake minimum version required and check cmake files formatting 2023-03-20 09:44:44 +01:00
Mayeul@Zama
45f5267f3d fix(CI): add newlines in end of files 2023-03-16 17:35:34 +01:00
Beka Barbakadze
9b4faaa66e feat(concrete-cuda): unroll while loop for cuda fft and ifft 2023-03-16 17:53:43 +04:00
Agnes Leroy
e0c52515bf fix(concrete_cuda): make sure r > 0 in the wop PBS
Sometimes the optimizer provides inconsistent parameter sets for the wop
PBS depending on how many inputs & bits to extract we're going to need
for a certain precision. This results in r < 0 and until now the
corresponding error in concrete-cuda was very hard to understand. This
commit fixes this behavior.

Also, when introducing the support for k > 1 we forgot to update the
checks on the low lat PBS. This commit also fixes them.
2023-03-16 14:00:28 +01:00
Agnes Leroy
6efe5f3a3b fix(concrete_cuda): fix cleartext mult and enhance linalg tests 2023-03-16 14:00:06 +01:00
Agnes Leroy
629e22aaac chore(concrete_cuda): fix tests, reduce test time
- Update concrete-cuda with latest commits in concrete-core
- Add C++ tests based on google test
- Run the tests in the CI with Cuda 11.8 and Cuda 11.1
- Test for many PBS/KS parameters
- Repetitions & samples are set for each parameter set in the PBS test
2023-03-16 09:30:27 +01:00
Agnes Leroy
39800f2d8a test(concrete_cuda): add C++ tests to concrete-cuda 2023-03-16 09:30:27 +01:00
Agnes Leroy
7d7780bd23 fix(concrete_cuda): fix multi gpu behavior 2023-03-16 09:30:27 +01:00
Pedro Alves
5cb4e5ff4e chore(concrete_cuda): Add checks to validate inputs passed to the scratch functions 2023-03-16 09:30:27 +01:00
Mayeul@Zama
570ad78442 cleanup: remove concrete-core references 2023-03-15 10:55:13 +01:00
Quentin Bourgerie
af824bf8a2 chore: Move concrete-cuda to the new mono-repo layout 2023-03-10 11:13:29 +01:00