youben11
e43e7d9c17
fix: link runtime lib with dfruntime
...
there is no symbol referenced in the runtime lib that is in dfruntime,
but it is needed during execution when code gets generated using
dfruntime functions
2022-03-17 16:15:02 +01:00
youben11
5b37ec640c
feat: support parallelization in python
2022-03-17 16:15:02 +01:00
Antoniu Pop
c440fc30f8
fix: CMake dependencies
...
define CONCRETELANG_PARALLEL_EXECUTION_ENABLED at toplevel and prevent RuntimeContext copy constructors from passing engines map.
2022-03-15 18:14:35 +01:00
Mayeul@Zama
ca8d4fb110
feat(compiler): use engine concrete C API
...
remove ConcreteToConcreteCAPI and ConcreteUnparametrize passes
2022-03-15 18:14:35 +01:00
Mayeul@Zama
0d7c3570cb
style: format tests
2022-03-10 14:38:19 +01:00
Umut
a1e4329ca8
fix: use proper broadcasting condition during matmul to linalg generic
2022-03-08 16:04:32 +03:00
youben11
65e2e2f600
fix: correct reassociation in expand and collapse ops
2022-03-02 09:55:54 +01:00
Umut
d06e0c0a59
feat: enhance matmul operation to support 1-D and N-D inputs
2022-03-01 18:06:40 +03:00
Antoniu Pop
f2bb077108
fix(TestLib): add missing test using a LUT/PBS.
2022-02-28 21:00:48 +00:00
rudy
8b71e9d476
feat(Clientlib): separate client encryption and server computation
...
Resolve #200
2022-02-24 15:50:18 +01:00
youben11
4f19dce899
fix: adapt dialect tests after recent pipeline changes
...
new passes have affected the order of appearance of constants, so they
just needed to be put at the top in the expected IR
2022-02-24 09:44:26 +01:00
youben11
e82360a9fe
feat: support lowering of convolution end to end
2022-02-24 09:44:26 +01:00
youben11
86379096df
feat: lower FHELinalg.conv2d to linalg
...
This is currently lowering to our custom linalg conv operation, since
linalg ops doesn't support custom types. But as linalg will support
custom types in the future, we may want to lower to the native linalg op
instead
2022-02-24 09:44:26 +01:00
youben11
6d2f853c07
feat: support Conv2d in MANP
2022-02-24 09:44:26 +01:00
youben11
3668b2d73a
feat: add a Conv2d operation in FHELinalg
2022-02-24 09:44:26 +01:00
Quentin Bourgerie
7f0be306f0
test(compiler): Temporary disable test
...
This test is a bit artificial, let see if we actually want to fix it
2022-02-17 15:53:23 +01:00
Quentin Bourgerie
b1d6b7e653
test(compiler): TEMPORARY Disable tiling test since bufferization didn't yet support
2022-02-17 15:53:23 +01:00
Quentin Bourgerie
0439ef47da
style(test): Formatting
2022-02-17 15:53:23 +01:00
Quentin Bourgerie
de66044374
cleanup(test): Remove some useless references
2022-02-17 15:53:23 +01:00
Quentin Bourgerie
626493dda7
enhance(compiler): Lower from Concrete to BConcrete and BConcrete to C API call
2022-02-17 15:53:23 +01:00
Quentin Bourgerie
b3368027d0
refactor(compiler): Move FHELinalg.zero to FHE.zero_tensor and add zero and sero_tensor in TFHE and Concrete dialects
2022-02-17 15:53:23 +01:00
Quentin Bourgerie
1f3944047f
feature(compiler): Introduce the BConcrete Dialect
2022-02-17 15:53:23 +01:00
Quentin Bourgerie
b950a0010d
chore(compiler/test): Move some test to end-to-end-jit-fhe
2022-02-17 15:53:23 +01:00
Umut
20a89b7b42
feat: implement concat operation
2022-02-15 16:52:07 +03:00
Umut
a1818a3fd9
feat: implement advanced sum operation
2022-02-08 17:49:58 +03:00
Antoniu Pop
260768e9af
enhance(dfr): use linker wrapping of main in addition to start/stop; enable DFR+OpenMP.
2022-02-03 10:59:12 +00:00
Umut
4203e86998
feat: implement basic sum operation
2022-02-01 12:18:56 +03:00
youben11
faa0abea3e
fix: use appropriate cmd for dynamic lib generation
...
macos and linux require a different cmd
2022-01-24 17:02:25 +00:00
Umut
8198a79deb
feat: introduce maximum bit width constant, use it where appropriate, export it in python bindings
2022-01-24 17:26:37 +03:00
Andi Drebes
2d852165f6
fix(compiler): Make arrays passed to llvm::MutableArrayRef mutable
2022-01-07 12:03:13 +01:00
Quentin Bourgerie
4ecae140ca
doc(compiler): Enhance FHE Dialect documentation
2022-01-06 18:07:19 +01:00
youben11
8ccfd8b634
chore: clean useless files
2022-01-06 12:40:10 +01:00
youben11
2009ee1c94
chore: changing ref to repo after its renaming
...
also formatting and update the check_license script to match that
2022-01-06 12:40:10 +01:00
rudy
58e02fd035
feat(Testlib): lib for testing libs generated by concretecompiler
...
Closes #201
2022-01-05 09:29:57 +01:00
rudy
b8bd38dd6c
feat(compiler): Output client parameters when compile to a library
...
close #198
2022-01-03 17:57:16 +01:00
youben11
940cb96be4
chore: rename dialects
...
HLFHE to FHE
MidLFHE to TFHE
LowLFHE to Concrete
2021-12-29 15:13:34 +01:00
youben11
47ef595a2a
chore: use namespace concrete for the py package
...
Compiler tools such as CompilerEngine would now be imported from
concrete.compiler
Dialects would now be imported from concrete.lang.dialects
And anything related to concretelang can be imported directly from
concrete.lang
2021-12-29 15:13:34 +01:00
youben11
e73291abdc
chore: rename compiler to concrete-compiler
...
zamalang => concretelang
zamacompiler => concretecompiler
2021-12-29 15:13:34 +01:00
rudy
48197d55ac
feat(stress-tests): stress tests first case
...
Resolves #330
2021-12-28 09:03:38 +01:00
rudy
cdffb0ec8e
fix(tests): CompileAndRunWithPrecision(6, 7 bits), more retries
2021-12-27 16:58:45 +01:00
rudy
d8fee32cea
feat(HLFHELinalg): add apply_mapped_table_lookup
...
Resolves #182
2021-12-27 15:34:33 +01:00
Antoniu Pop
a1a694a686
test(compiler): add unit tests for dataflow auto parallelization.
2021-12-23 15:57:53 +00:00
Andi Drebes
68e124964c
test(compiler): Add tests for the HLFHELinalg tiling passes
2021-12-17 16:48:00 +01:00
Andi Drebes
77b7aa2f7c
fix(compiler): Fix warnings and naming in test for parametric slices
...
- Rename `extract_slice_parametric_2x2` to
`extract_slice_parametric_2x2x2x2` to reflect the 4-dimensional
structure of the tiles.
- Make the array with the specification of the dimensions in
`extract_slice_parametric_2x2x2x2` a `constexpr` in order to prevent
the array `A` from being treated as a variable-length array.
- Cast the expression for the expected size of the result to `size_t`
and change the type of the induction variables of the loop nest
producing the initial values for the array `A` to `int64_t` to avoid
warnings about the comparison of integer expressions with different
signedness.
2021-12-17 15:52:57 +01:00
youben11
60b2cfd9b7
feat: support more dtype for scalars/tensors
...
dtype supported now: uint8, uint16, uint32, uint64
2021-12-13 17:40:28 +01:00
youben11
550318f67e
feat: support different numpy object types as input
...
- Scalar types: int, np.uint8 (to extend with other types later), and np.ndarray with shape == ()
- Tensor types: np.ndarray
2021-12-13 17:40:28 +01:00
Andi Drebes
16d0502f56
fix(compiler): Initialize strides of memref parameters when JIT-invoking a function
...
Upon invocation of a function with memref arguments, the strides for
all dimensions are currently set to 0. This causes dynamic offsets to
be calculated incorrectly in the function body.
This patch replaces the placeholder values with the actual strides for
each dimension and adds a test with parametric slice extraction from a
tensor that triggers dynamic indexing.
2021-12-13 15:20:54 +01:00
Antoniu Pop
bb44124999
feat(dfr): add the DFR (DataFlow Runtime).
2021-12-08 18:35:29 +00:00
rudy
cc58608589
chore(Lambda): simplify, extract, enhance message for bit width rounding
...
bit with rounding: 5bit element is widen to a standard 8bit word
2021-12-07 15:29:05 +01:00
rudy
2c56a26c75
fix(Lambda): missing superfluous check in setArg
...
[----------] Global test environment tear-down
[==========] 7 tests from 1 test suite ran. (1513 ms total)
[ PASSED ] 7 tests.
YOU HAVE 2 DISABLED TESTS
2021-12-07 15:29:05 +01:00