Commit Graph

43 Commits

Author SHA1 Message Date
Quentin Bourgerie
6717c4f5ff chore(test): Missing lambda tests in test target 2022-03-24 11:00:36 +01:00
Quentin Bourgerie
e5cec23868 chore(test): Missing test-end-to-end-jit-fhe to test-end-to-end-jit target 2022-03-24 11:00:36 +01:00
youben11
5b37ec640c feat: support parallelization in python 2022-03-17 16:15:02 +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
youben11
1dd8cfaf48 ci: remove tests from macos job on PRs
even when using the cache, the macos job on PR takes a lot of time, due
to the hardware limitations causing execution to take so much time. So
instead, we limit the macos job to the build to make sure it can
compile, and only run the tests for macos on push events
2022-03-08 12:13:25 +01:00
rudy
8b71e9d476 feat(Clientlib): separate client encryption and server computation
Resolve #200
2022-02-24 15:50:18 +01:00
youben11
78596f899f feat: add generated linalg conv operation
This has been generated using linalg tools, then put in their
appropriate locations. This is intended as a workaround since linalg
doesn't support tensors of custom types yet. Any conversion using this
added operation should be able to use the default operation from linalg
when it starts supporting tensor of custom types.
2022-02-24 09:44:26 +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
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
youben11
6d3af7fcda chore: add installation targets in Makefile
MacOS require a way to find the runtime library when trying to build a
shared library at runtime, so we add a way to install it globally for
testing
2022-01-24 17:02:25 +00:00
youben11
fcf5ee05d5 chore: rename docker images
use concrete-compiler instead of concretefhe-compiler
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
youben11
16dec44da0 chore: configure compilers via make 2022-01-04 20:16:44 +01:00
youben11
492ce3309a chore(python): change version file
we don't want the version file to be included in the package to not
clash with version files of other subpackages, as it should be part of
the bigger concrete namespace package
2022-01-04 09:28:42 +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
aquint-zama
7f88d6553e docs: add first documentation 2021-12-27 09:55:57 +01:00
Antoniu Pop
a1a694a686 test(compiler): add unit tests for dataflow auto parallelization. 2021-12-23 15:57:53 +00:00
youben11
b812f6f7f2 feat(python): version python package from git tag
automatic detection of version from git tag and update of the python
version file
2021-12-16 09:15:25 +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
cc9186d60d feat(tests): test lambda call with bad number of parameters or bad parameters
[----------] Global test environment tear-down
[==========] 6 tests from 1 test suite ran. (1402 ms total)
[  PASSED  ] 6 tests.

  YOU HAVE 3 DISABLED TESTS

2 tests are disabled because execution is fatal
2021-12-07 15:29:05 +01:00
Mayeul@Zama
dad4390518 feat(compiler): add a key cache 2021-12-07 12:11:56 +01:00
Mayeul@Zama
ec8614f2ea chore(compiler): use ccache if available 2021-12-07 11:35:33 +01:00
rudy
975ee86a5e feat(compiler): add --compile option
Resolves #196
2021-11-30 17:42:28 +01:00
youben11
08869bc998 chore: separate unittests into different executables
it's easier to run a specific set of tests if they are into separate
executable. We shouldn't have to run them all for testing a specific set
of tests
2021-11-10 15:24:21 +01:00
Andi Drebes
d6dc9874d9 enhance(compiler): Add support for ccache in Makefile
This adds a new variable `CCACHE` to `Makefile` that specifies whether
CMake is instructed upon configuration of the project to use the
default, plain C++ compiler or ccache as a wrapper.

By default, ccache is not used. To override the default value and
force the use of ccache, the variable `CCACHE` must be set to `ON`,
e.g., using `make CCACHE=ON`.
2021-11-04 16:01:27 +01:00
youben11
941465060e build: setup target and tools for building tarballs 2021-10-28 15:59:31 +01:00
Andi Drebes
2c63018ed2 fix(compiler): Makefile: Make targets without file dependencies PHONY
Most of the targets in `Makefile` do not deped on files produced by
other targets and use target names solely for dependency
management. Make all such targets PHONY in order to avoid that they
are skipped accidentially when a file with the same name is present.
2021-10-27 13:39:35 +02:00
Andi Drebes
e7b2582639 fix(compiler): Makefile: Invoke CMake for each Python target separately
The Makefile target `python-bindings` invokes CMake with multiple
targets specified after the `--target` commandline option. However, as
per the CMake manpage, only one target may be specified at once.

This changes the single invocation of CMake to separate invocations
for each target.

Tested with CMake version 3.13.4.
2021-10-27 13:39:35 +02:00
Andi Drebes
527887bbf9 fix(compiler): Makefile: Do not let target 'build' depend on directory
The target `build` creates a build directory with the same name and
initializes through an invocation of CMake. Regardless of the success
or failure of the CMake invocation, all subsequent invocations of the
target do not invoke CMake anymore, as the target's prerequisites are
satisfied through the existence of the build directory created upon
the first invocation.

This patch changes the dependencies to the build directory with an
intermediate target that depends on a stamp file that is only created
when the first CMake invocation in the build directory succeeds.
2021-10-27 13:39:35 +02:00
youben11
5a2e9460fb build: setup build tools for python package
- Docker image to build wheels for linux_x86_64 CPython 3.[8,9,10] with
  GLIBC >= 2.24
- Specify which Python to use in Makefile
- Fix cmake build to handle when libpython isn't available (cmake>3.18)
2021-10-26 16:31:04 +02:00
youben11
bfc763144c ci: new unified build system 2021-10-07 14:38:50 +01:00
youben11
2972fa4403 refactor(python): rework the bindings with latest MLIR version
- Go through CAPI for python bindings
- Consuming LLVM errors in CAPI: fixes previous issue which made this
  impossible in the python bindings
2021-10-07 14:38:50 +01:00
youben11
7a48900fae chore: build zamacompiler as an LLVM external proj 2021-10-07 14:38:50 +01:00
Quentin Bourgerie
bfa4eece9d chore(compiler): Add build target for e2e test 2021-09-06 10:26:40 +02:00
Quentin Bourgerie
be7301387c chore: add then end-to-end-jit test to the make test target 2021-09-06 10:26:40 +02:00
Quentin Bourgerie
d0877536ed feat(compiler): First draft of client parameters generation, runtime support for encrypting and decrypting circuit gates, integration of fhe parameters for the v0 (#65, #66, #56) 2021-08-13 14:05:29 +02:00
youben11
c58abe6565 chore(ci): add python testing 2021-08-05 13:49:29 +02:00
Quentin Bourgerie
d4b7d61f99 chore(compiler): Add configuration of test and introduce command line options 2021-05-28 12:08:41 +02:00