Antoniu Pop
4fbb05e18c
feat(compiler): add an asynchronous interface for bootstrap and keyswitch using std::promise/future.
2022-09-19 13:02:20 +01:00
Antoniu Pop
2cf80e76eb
feat(compiler): move the lowering of dataflow tasks to RT dialect before bufferization.
2022-09-15 11:55:37 +01:00
Andi Drebes
d9363ffb27
fix(compiler): Use maps with symbolic offsets in memref casts for wrapper functions
...
The bufferization of the BConcrete dialect emits calls to Concrete
wrapper functions and casts all memrefs to ranked memrefs with dynamic
strides and an implicit identity layout map. The implicit identity map
does not allow for casts of memrefs with non-zero offsets, e.g.,
resulting from folding of memrefs related to intermediate results
passed as operands to the operation implemented by a wrapper.
Casting to memrefs symbolic offsets in the layout map (e.g.,
`[d0, d1, ...](s0, s1, ...) -> (d0 + s0, d1 + s1, ...)`) allows
for more flexibility, in particular this adds support for memrefs
with non-zero, constant offsets returned by operations generating
intermediate results.
2022-09-14 16:47:41 +02:00
Umut
465b4b95bb
chore: remove seeder selection messages
2022-09-14 12:37:42 +02:00
Quentin Bourgerie
dbfde466bc
feat(python): Add compilation feedback to the python bindings
2022-09-14 10:03:25 +02:00
Quentin Bourgerie
f4673e8276
feat(compiler): First draft or compilation feedback
2022-09-14 10:03:25 +02:00
rudy
48bf6e2696
feat(optimizer): report or warn using global p-error
2022-09-12 17:22:38 +02:00
Umut
41c9f86803
feat: create encrypted signed integer type
2022-09-09 17:38:21 +03:00
rudy
e5d9cb1af3
fix: display the reason when the linker can't be called and fix the root cause
2022-09-08 12:09:06 +02:00
rudy
deef4486ba
fix: negative value have full complement 2 noise
...
Revert ae9a04cd56
2022-09-06 15:27:20 +02:00
youben11
661d33c2b6
feat: keep std bsk and conv to fourier when needed
2022-09-06 07:18:34 +01:00
youben11
942b41d07c
fix: destroy glwe secret key after use
2022-09-06 07:18:34 +01:00
Quentin Bourgerie
30df69366d
enhance(python-bindings): Expose the option to set or not the v0 strategy of the optimizer.
2022-09-01 10:37:00 +02:00
Mayeul@Zama
eb4b0753dc
enhance(runtime): Move to the official concrete-core-ffi release 0.2.0-rc2
...
Co-authored-by: Mayeul@Zama <mayeul.debellabre@zama.ai >
Co-authored-by: Quentin Bourgerie <bourgerie.quentin@gmail.com >
2022-08-30 18:08:47 +02:00
Ayoub Benaissa
393d1617eb
fix: add linking options for MacOS
...
Starting from Mac 11 (Big Sur), it appears we need to add -L
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib -lSystem for the
sharedlib to link properly.i
2022-08-26 10:45:15 +01:00
Quentin Bourgerie
d9c9ecbf0b
fix(manp): Use the active bits to square a the constant in the 2-norm computation to allow more program to be analyzed
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
4bd8665655
fix(security): Update security curves
2022-08-24 20:46:31 +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
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
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
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
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
534e683055
fix: Lowering from ConcreteToBConcrete of from_elements on ND tensor of Concrete.lwe_ciphertext
2022-08-09 10:26:32 +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
20d19c2161
cleanup(dfr): remove unused key ids and unranked memref labels.
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
ba60d74da0
feat(dfr): add timing measurements.
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
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
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
615109d432
fix(dfr): simplify initialization and add namespaces where possible.
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