Commit Graph

724 Commits

Author SHA1 Message Date
Quentin Bourgerie
46a914e181 chore(optimizer): Always call the makefile of the optimizer 2022-08-25 09:46:51 +02:00
Quentin Bourgerie
2ed9fc7583 enhance(tests): Generate from 1 to 29 bits end to end tests fhe tests for basic operators 2022-08-25 09:46:51 +02:00
Quentin Bourgerie
f69c8dfaba fix: Fix decoding of encrypted integer above 30 bits 2022-08-25 09:46:51 +02:00
Quentin Bourgerie
046c0ad5d9 chore: Fix makefile build-unit-tests target 2022-08-25 09:46:51 +02:00
Quentin Bourgerie
4bd8665655 fix(security): Update security curves 2022-08-24 20:46:31 +02:00
Antoniu Pop
f89b1530d8 fix(readme): add details about HPX installation. 2022-08-24 11:35:05 +02:00
Quentin Bourgerie
5595af6c53 doc: Update README with instruction for developers 2022-08-24 11:35:05 +02:00
Quentin Bourgerie
556127bb93 chore: Remove google-benchmark as submodule 2022-08-24 11:35:05 +02:00
Quentin Bourgerie
c08a06ed8e chore: Just rename configuration variable to enable the dataflow runtime 2022-08-24 11:35:05 +02:00
Quentin Bourgerie
d1694648c5 chore: Add a target to install hpx from source 2022-08-24 11:35:05 +02:00
Quentin Bourgerie
3b829e7628 tests: Fix some reference since the optimizer behavior has changed 2022-08-22 17:36:39 +02:00
rudy
cc1202de76 fix(dag): remove optimizer conversion bug on MANP 2022-08-22 17:36:39 +02:00
youben11
5689d89e84 ci: update macos from 10.15 to 11
10.15 will be deprecated on GH actions by end of August
2022-08-19 16:20:05 +02:00
Quentin Bourgerie
9257404f5f fix(python-bindings): Support np.array with dtype upt to 64 bits 2022-08-19 14:15:21 +02:00
Quentin Bourgerie
d647bc735f fix: Now the maximum precision is 16bits 2022-08-16 08:40:14 +02:00
Quentin Bourgerie
10f4769dae test: remove default parameters for 16bits tests 2022-08-16 08:40:14 +02:00
Quentin Bourgerie
740816feec chore: Change default constraint on test 2022-08-16 08:40:14 +02:00
Quentin Bourgerie
525d8da3a8 test: remove default parameters for 16bits tests 2022-08-16 08:40:14 +02:00
Quentin Bourgerie
5492ed01eb feat: plug the compiler pipeline with the optimizer for 16 bits eint 2022-08-16 08:40:14 +02:00
rudy
f3933aeddc feat(optimizer): connect to new entry point supporting woppbs 2022-08-16 08:40:14 +02:00
Quentin Bourgerie
73fbb20f6b tests: Temporary unactivate some tests 2022-08-12 16:35:11 +02:00
Quentin Bourgerie
c7e5d56a0b chore: update the llvm-project to integrate the memrefCopy fix 2022-08-12 16:35:11 +02:00
Antoniu Pop
8bacd9e7ac fix(tests): add more input values to 16bit test to catch cases where 3 byte (i17) values are not aligned properly. 2022-08-12 16:35:11 +02:00
Antoniu Pop
93802d128b fix(dfr-compiler): clone memref task arguments using identity maps for serialization. 2022-08-12 16:35:11 +02:00
Quentin Bourgerie
8cd3a3a599 feat(compiler): First draft to support FHE.eint up to 16bits
For now what it works are only levelled ops with user parameters. (take a look to the tests)

Done:
- Add parameters to the fhe parameters to support CRT-based large integers
- Add command line options and tests options to allows the user to give those new parameters
- Update the dialects and pipeline to handle new fhe parameters for CRT-based large integers
- Update the client parameters and the client library to handle the CRT-based large integers

Todo:
- Plug the optimizer to compute the CRT-based large interger parameters
- Plug the pbs for the CRT-based large integer
2022-08-12 16:35:11 +02:00
Quentin Bourgerie
58527a44c3 test: Add extract_slice_with_rank_reduction test since it is fixed (close #315) 2022-08-11 10:12:55 +02:00
rudy
cc6c2576ec feat(optimizer): create optimizer dag and use it 2022-08-11 10:10:27 +02:00
rudy
bd3d462384 feat(multiprecision): enable real multiple precision computation 2022-08-11 10:10:27 +02:00
Quentin Bourgerie
80f36c14de fix: Update the llvm-project with memref.subview fold fix to fix slice extraction with negative strides 2022-08-09 11:43:11 +02:00
Quentin Bourgerie
534e683055 fix: Lowering from ConcreteToBConcrete of from_elements on ND tensor of Concrete.lwe_ciphertext 2022-08-09 10:26:32 +02:00
Quentin Bourgerie
f91c74d7dd chore: LICENSE update 2022-08-05 11:51:28 +02:00
Antoniu Pop
a2ff61d1d7 cleanup(compiler): remove no longer needed function getAliasedUses. 2022-08-04 17:06:09 +01:00
Antoniu Pop
f9ce4d046b fix(testing-dfr): fix startup and ternimation call parameters to allow sequential test execution on root node when the runtime is instantiated for distributed execution. 2022-08-04 17:06:09 +01:00
Antoniu Pop
f541af8a8f fix(compiler): use ViewLikeOpInterface instead of checking specific op types. 2022-08-04 17:06:09 +01:00
Antoniu Pop
f051642f1f cleanup(compiler): rename getSizeInBytes function to match updated functionality. 2022-08-04 17:06:09 +01:00
Antoniu Pop
46b1dbcd34 cleanup(compiler): fix unused variable warning. 2022-08-04 17:06:09 +01:00
Antoniu Pop
9f1ac8a4e4 fix(dfr): add guard assert for not returning empty EvaluationKeys when on root node. 2022-08-04 17:06:09 +01:00
Antoniu Pop
20d19c2161 cleanup(dfr): remove unused key ids and unranked memref labels. 2022-08-04 17:06:09 +01:00
Antoniu Pop
abff4e1c17 tests(dfr): fix mlir for func.func in tests. 2022-08-04 17:06:09 +01:00
Antoniu Pop
da9dbcef1d feat(compiler): coarsen task granularity by aggregating lightweight operations. 2022-08-04 17:06:09 +01:00
Antoniu Pop
6291a13cf8 feat(compiler): add NoSideEffect flags on FHE operations to enable DCE to remove operations that no longer have uses. 2022-08-04 17:06:09 +01:00
Antoniu Pop
ba60d74da0 feat(dfr): add timing measurements. 2022-08-04 17:06:09 +01:00
Antoniu Pop
dd2b2b9ce9 fix(dfr): deallocate receive buffers for evaluation keys on remote nodes. 2022-08-04 17:06:09 +01:00
Antoniu Pop
2f5f9f6cf1 test(dfr): add AES test. 2022-08-04 17:06:09 +01:00
Antoniu Pop
1bb3d04059 fix(dfr): broadcast evaluation keys early to avoid locking in HPX helper threads. 2022-08-04 17:06:09 +01:00
Antoniu Pop
fbca52f4a0 feat(dfr): add memory management for futures and associated data. 2022-08-04 17:06:09 +01:00
Antoniu Pop
b405a2daf2 fix(dfr): fix thread binding when running both HPX and OpenMP runtimes. 2022-08-04 17:06:09 +01:00
Antoniu Pop
8f2b12d812 test(distributed): fix termination of tests meant to run on distributed systems to avoid ungraceful exit. 2022-08-04 17:06:09 +01:00
Antoniu Pop
eeb3ba8735 fix(compiler): add calls to enable either or both parts of the runtime based on compile options used. 2022-08-04 17:06:09 +01:00
Antoniu Pop
51d3959742 fix(dfr): remove runtime resume/suspend on entry/exit of function as currently unstable. 2022-08-04 17:06:09 +01:00