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
youben11
ce9393070c
fix: avoid tensor slices in conv operation
...
when lowering the linalg conv operation into scf, then bufferized, there
is a cast operation on an allocated buffer to the type of a
memref with different strides (casued by the slice). This incompatible
cast makes the lowering fails.
2022-08-04 11:19:18 +01:00
youben11
e52ccfc1a9
feat: support grouped conv2d
2022-08-04 11:19:18 +01:00
youben11
63d84a3e4a
refactor: remove code related to our custom conv2D named op
...
it was introduced as a workaround while linalng couldn't support other
types than int/float
2022-08-04 11:19:18 +01:00
youben11
f1f1db923d
refactor: lower our conv2d to custom linalg named op
...
we can now generate linalg named op with custom operation for add/mul to
handle our types
2022-08-04 11:19:18 +01:00
Andi Drebes
83f2095af5
test(compiler): Add regression tests for extract_slice and collapse on encrypted tensors
...
Commit `45577fb79e7bef9d6874906971f485ca6ed111b8` introduced a
regression causing garbage to be generated for IR involving
`tensor.extract_slice` and `tensor.collapse` in some cases. This
commit adds two tests checking for the absence of the regression.
Co-authored-by: Umut Sahin <umut.sahin@zama.ai >
2022-07-28 10:13:35 +02:00
Andi Drebes
85ebc0cb7a
Rebase onto llvm-project 3f81841474fe with patch for arbitrary types in linalg named ops
...
Rebase to llvm-project at 3f81841474fe with a pending upstream patch
for arbitrary element types in linalg named operations.
Co-authored-by: Ayoub Benaissa <ayoub.benaissa@zama.ai >
2022-07-27 22:45:38 +02:00
Andi Drebes
fb9066c3e8
fix(compiler): Fix calculation of indexes for result memrefs with non-zero offsets
...
The function `tensorDataFromMemRef` reading elements from a result
memref and copying them to an instance of `TensorData` fails to handle
memrefs with non-zero offsets as it adds the offset twice when
calculating indexes. This may result in out-of-bounds memory accesses
and incorrect results.
This patch fixes the calculation of indexes by removing the second
addition of the offset.
2022-07-27 22:39:54 +02:00
Andi Drebes
6c2b1addcc
enhance(build): Pass trailing arguments from add_concretelang_doc to add_mlir_doc
...
Pass all arguments starting with `command` passed to
`add_concretelang_doc` to `add_mlir_doc`. This allows for the
specification of additional command line arguments to be passed to
`mlir-tblgen`.
2022-07-27 22:39:54 +02:00
Quentin Bourgerie
511bcd99e7
Revert "feat(optimizer): create optimizer dag and use it"
...
This reverts commit 0b99f6d278 .
2022-07-27 18:35:47 +02:00
youben11
149cc24821
fix: get path to test file using __FILE__
2022-07-27 10:29:47 +01:00
youben11
ff3a3cbe8b
fix: fail tests if any of the test binaries fail
2022-07-27 10:29:47 +01:00
rudy
0b99f6d278
feat(optimizer): create optimizer dag and use it
2022-07-25 21:06:14 +02:00
rudy
b12331634c
fix(Makefile): Python3_EXECUTABLE need to be defined on some setup
2022-07-20 15:34:46 +02:00
Ayoub Benaissa
acda882873
ci: fix target name for macos job
2022-07-19 12:18:09 +01:00
youben11
7f31cec990
refactor: prefix ops and types with dialect name
2022-07-18 14:08:09 +01:00
Umut
e24dbec249
feat: create FHELinalg.from_element operation
...
This commit is introduced because python bindings for `tensor.from_elements` are not generated automatically. Previously, we overcame this with string manipulation, but with the latest version of the compiler, it became a problem. This commit should be reverted eventually. See https://discourse.llvm.org/t/cannot-create-tensor-from-elements-operation-from-python-bindings/4768 for the discussion in LLVM forums.
2022-07-08 14:43:46 +03:00
youben11
f4166a4973
docs: use consistent style for comment blocks
...
prefix comment blocks with ///
2022-07-07 16:11:19 +01:00
Quentin Bourgerie
2cfccd8f89
refactor: restructure the tests directory layout
2022-07-07 17:10:09 +02:00
youben11
5668e447e7
feat: support python 3.7
2022-07-07 09:55:44 +01:00
Antoniu Pop
261e59d2b4
feat(dfr): add more operations to be converted to tasks.
2022-06-28 17:11:12 +01:00
Antoniu Pop
235cf6fbe3
fix(unittest): fix expected result for sub_eint_int_term_to_term_broadcast
2022-06-28 17:11:12 +01:00
Antoniu Pop
26084a68aa
fix(compiler): delay all memref deallocation calls introduced by the bufferizer and that are made into futures until after the synchronization point.
2022-06-28 17:11:12 +01:00
Antoniu Pop
fb219f0fbf
feat(runtime): increase the limit of task input parameters to 16.
2022-06-28 17:11:12 +01:00
Umut
b3a2671dc7
feat: implement all kinds of subtractions
2022-06-28 11:13:03 +03:00
Umut
8f8a57d220
feat: implement MANP calculation for tensor.insert op
2022-06-28 11:13:03 +03:00
Mayeul@Zama
bcc5c750a1
fix(client): fix assumption that glweDimension = 1
2022-06-28 09:24:39 +02:00
Quentin Bourgerie
1e261dea7c
feat(test): add option to provide manual crypto parameters for tests
2022-06-28 09:24:39 +02:00
Quentin Bourgerie
d0d98c8228
chore: Add build-benchmarks to the all target
2022-06-27 16:45:56 +02:00
Quentin Bourgerie
f06957a197
tests(compiler): Add a benchmark tool builded thanks google-benchmarks
2022-06-27 16:45:56 +02:00
Quentin Bourgerie
2de76e9c4e
fix(compiler): Fix tfhe global parametrization to handle k>1
...
Co-authored-by: Mayeul@Zama <mayeul.debellabre@zama.ai >
2022-06-24 15:35:51 +02:00
Quentin Bourgerie
ef9d11c16f
cleanup(compiler): Remove dead code and usless pass
2022-06-24 11:00:08 +02:00
Quentin Bourgerie
ab64532b7b
cleanup(compiler): Remove old bufferization passes
2022-06-24 11:00:08 +02:00
Quentin Bourgerie
9baee39351
cleanup(compiler): Cleanup comments on ConcreteToBConcrete
2022-06-24 11:00:08 +02:00