mirror of
https://github.com/zama-ai/concrete.git
synced 2026-02-09 12:15:09 -05:00
- 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.
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-initialized
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