Commit Graph

40 Commits

Author SHA1 Message Date
Antoniu Pop
1df468a084 feat(runtime): increase the limit of task input parameters to 16. 2022-08-04 17:06:09 +01:00
youben11
f4166a4973 docs: use consistent style for comment blocks
prefix comment blocks with ///
2022-07-07 16:11:19 +01:00
Antoniu Pop
fb219f0fbf feat(runtime): increase the limit of task input parameters to 16. 2022-06-28 17:11:12 +01:00
Mayeul@Zama
928a44d243 chore(ci): enforce ending files with a newline 2022-06-16 17:04:25 +02:00
Andi Drebes
45577fb79e Rebase onto llvm-project f69328049e9e with local changes
This commit rebases the compiler onto commit f69328049e9e from
llvm-project.

Changes:

* Use of the one-shot bufferizer for improved memory management

* A new pass `OneShotBufferizeDPSWrapper` that converts functions
  returning tensors to destination-passing-style as required by the
  one-shot bufferizer

* A new pass `LinalgGenericOpWithTensorsToLoopsPass` that converts
  `linalg.generic` operations with value semantics to loop nests

* Rebase onto a fork of llvm-project at f69328049e9e with local
  modifications to enable bufferization of `linalg.generic` operations
  with value semantics

* Workaround for the absence of type propagation after type conversion
  via extra patterns in all dialect conversion passes

* Printer, parser and verifier definitions moved from inline
  declarations in ODS to the respective source files as required by
  upstream changes

* New tests for functions with a large number of inputs

* Increase the number of allowed task inputs as required by new tests

* Use upstream function `mlir_configure_python_dev_packages()` to
  locate Python development files for compatibility with various CMake
  versions

Co-authored-by: Quentin Bourgerie <quentin.bourgerie@zama.ai>
Co-authored-by: Ayoub Benaissa <ayoub.benaissa@zama.ai>
Co-authored-by: Antoniu Pop <antoniu.pop@zama.ai>
2022-06-14 14:35:25 +02:00
youben11
1354759884 chore: rename refs to main branch 2022-06-09 09:19:06 +01:00
Umut
b052157fae refactor: separate runtime context from public arguments 2022-05-30 10:19:14 +03:00
Quentin Bourgerie
247d60503d fix(compiler): Custom copy op from 1D tensor to avoir stack allocation from mlir memref to llvm lowering 2022-04-13 10:16:53 +02:00
Antoniu Pop
51d4d044cb fix(build): refactor DFRuntime build and link in ConcretelangRuntime instead. 2022-04-01 20:39:16 +01:00
Antoniu Pop
0e38e0a48c feat(parallelization): enable OpenMP/loop parallelism as a compilation target independently of HPX/DFR. 2022-04-01 20:39:16 +01:00
Antoniu Pop
337a9bb5c2 fix(dfr): add runtime termination call on compiler main exit. 2022-03-17 16:15:02 +01:00
Antoniu Pop
27318ff29a fix(runtime): disable main wrapping and provide _dfr_terminate new termination call for the runtime. 2022-03-17 16:15:02 +01:00
Antoniu Pop
2f31edef7f fix(runtime): add initialization guard to avoid double initialization/finalization of the runtime. 2022-03-17 16:15:02 +01:00
Antoniu Pop
7cfa0a1212 feat(dfr): add pre_main and post_main functions to be called when main wrapping is not feasible. 2022-03-17 16:15:02 +01:00
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
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
Antoniu Pop
f3fca58efc fix(runtime): add missing assert on context BSK. 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
Quentin Bourgerie
4e8a9d1077 enhance(runtime): Fix the runtime tools to handle the ciphertext bufferization and the new compiler concrete bufferized API 2022-02-17 15:53:23 +01:00
Antoniu Pop
35e6966f95 enhance(dfr/runtime): throttle the number of HPX worker threads when using OpenMP for loop parallelism within tasks. 2022-02-03 10:59:12 +00: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
Andi Drebes
0284e06016 fix(compiler): Remove unused variable err in lib/Runtime/context.cpp 2022-01-07 12:03:13 +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
Antoniu Pop
8f71c331d4 fix(runtime): formatting. 2022-01-04 12:43:33 +01:00
Antoniu Pop
93835e0106 fix(runtime): move deallocation of key clones in context destructor. 2022-01-04 12:43:33 +01:00
Antoniu Pop
9deaa1400e chore: add missing license header. 2022-01-04 12:43:33 +01:00
Antoniu Pop
84f01f78d6 fix(runtime/DFR): create only one BSK clone per thread and deallocate. 2022-01-04 12:43:33 +01:00
youben11
f1161f7f6d chore: formatting
Quick fix due to ordering of includes, had to add #include
<mlir/Transforms/DialectConversion.h> to include/concretelang/Conversion/Utils/GenericOpTypeConversionPattern.h
2022-01-03 09:29:19 +01:00
youben11
e73291abdc chore: rename compiler to concrete-compiler
zamalang => concretelang
zamacompiler => concretecompiler
2021-12-29 15:13:34 +01:00
youben11
971cb56182 chore: licensing 2021-12-29 15:13:34 +01:00
Antoniu Pop
bc3d647453 fix(dfr): make HPX runtime environment persistent and deallocate temporaries. 2021-12-23 15:57:53 +00:00
Antoniu Pop
2cba686c66 fix(runtime): enable concurrent key usage by cloning it on get operation. 2021-12-23 15:57:53 +00:00
Antoniu Pop
bb44124999 feat(dfr): add the DFR (DataFlow Runtime). 2021-12-08 18:35:29 +00:00
Quentin Bourgerie
fb58dcc59d enhance(compiler/lowlfhe): Give the runtime context as function argument instead of a global variable (close #195) 2021-12-02 10:56:47 +01:00
youben11
7a48900fae chore: build zamacompiler as an LLVM external proj 2021-10-07 14:38:50 +01:00
youben11
272a725e9a feat(lower_LUT): add precision attribute to encode LUT at runtime 2021-09-09 20:35:28 +02:00
youben11
5f16cfabbf fix(Runtime): link missing libraries
We currently use LD_PRELOAD with the python extension to make the JIT
execution find the appropriate symbols, however, not linking with some
libraries caused other tools such as make to complain of not finding
symbols from libpthread and others
2021-09-09 20:35:28 +02:00
youben11
8aee5dd5c3 chore(runtime): link concrete statically with runtime lib 2021-09-09 20:35:28 +02:00
youben11
de81ac3f3e feat: Runtime library 2021-09-09 20:35:28 +02:00