Commit Graph

707 Commits

Author SHA1 Message Date
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
Antoniu Pop
49111dd295 fix(dfr): simplify runtime parametrization and fix implicit thread allocation policy. 2022-08-04 17:06:09 +01:00
Antoniu Pop
ae55e88435 feat(dfr): add default configuration file for HPX runtime. 2022-08-04 17:06:09 +01:00
Antoniu Pop
93d5a06557 test: add a test for distributed execution. 2022-08-04 17:06:09 +01:00
Antoniu Pop
34b85304bc license: fix master/main. 2022-08-04 17:06:09 +01:00
Antoniu Pop
7410502e60 fix(dfr): simplify synchronization in work function registry. 2022-08-04 17:06:09 +01:00
Antoniu Pop
e36c7d3b55 feat(dfr): add environment variable option for using HPX configuration file path at initialization. 2022-08-04 17:06:09 +01:00
Antoniu Pop
19a25deb2a fix(dfr): remove int conversion warnings. 2022-08-04 17:06:09 +01:00
Antoniu Pop
615109d432 fix(dfr): simplify initialization and add namespaces where possible. 2022-08-04 17:06:09 +01:00
Antoniu Pop
c79cedf557 test(parallelization): add small NN test for auto parallelization. 2022-08-04 17:06:09 +01:00
Antoniu Pop
8defa338e8 feat(runtime): enable parallel execution for TestLib when available. 2022-08-04 17:06:09 +01:00
Antoniu Pop
460fbabbe0 feat(runtime): deactivate main wrapping by default and add explicit initialization/termination. 2022-08-04 17:06:09 +01:00
Antoniu Pop
bca85ea2b6 feat(compiler): delay the point where futures are waited on, when they are being synchronized back to their parent context, to the point of use. 2022-08-04 17:06:09 +01:00
Antoniu Pop
954b2098c6 feat(runtime): enable distributed execution. 2022-08-04 17:06:09 +01:00
Antoniu Pop
2cc8c69ff3 fix(compiler): make the insertForwardDeclaration utility function accept any OpBuilder for more generality. 2022-08-04 17:06:09 +01:00
Antoniu Pop
1df468a084 feat(runtime): increase the limit of task input parameters to 16. 2022-08-04 17:06:09 +01:00
Antoniu Pop
8beb596fab test(dfr): remove DFR unittests which are now obsolete. 2022-08-04 17:06:09 +01:00
youben11
cace7f1ebb test: add e2e tests of grouped conv2d 2022-08-04 11:19:18 +01:00