Files
concrete/compiler
Andi Drebes 9040e5ab00 feat(compiler): Add generic overload for result of JitCompilerEngine::Lambda
This adds a new overload for `JitCompilerEngine::Lambda::operator()`,
returning a result wrapped in a `std::unique_ptr<LambdaArgument>` with
meta information about the result. This allows for generic invocations
of JitCompilerEngine::Lambda::operator(), where the result type is
unknown before the invocation.
2021-11-03 18:32:06 +01:00
..
2021-06-04 09:18:14 +02:00
2021-05-28 12:08:41 +02:00

Building the compiler

Install MLIR following https://mlir.llvm.org/getting_started/ Use commit c2415d67a564

Install pybind11:

pip install pybind11

Build concrete library:

git clone https://github.com/zama-ai/concrete
cd concrete
git checkout feature/core_c_api
cd concrete-ffi
RUSTFLAGS="-C target-cpu=native" cargo build --release 

Generate the compiler build system, in the build directory

export LLVM_PROJECT="PATH_TO_LLVM_PROJECT"
export CONCRETE_PROJECT="PATH_TO_CONCRETE_PROJECT"
make build

Build the compiler

make zamacompiler

Test the compiler

#TODO: let cmake set this PATH
export LD_LIBRARY_PATH="path_to_homomorphizer/compiler/build/lib/Runtime/"
make test

Run the compiler

./build/src/zamacompiler