mirror of
https://github.com/zama-ai/concrete.git
synced 2026-02-09 03:55:04 -05:00
This adds a new function `getLambdaArgumentTypeAsString(const LambdaArgument&)` returning the name of a lambda argument type as a string, e.g., `"uint8_t"` for an `IntLambdaArgument<uint8_t>` or `"tensor<uint8_t>"` for a `TensorLambdaArgument<IntLambdaArgument<uint8_t>>`. Note that, due to the static inheritance scheme for Lambda Arguments and explicit instantiation, this is only implemented for the common backing integer types `uint8_t`, `int8_t`, `uint16_t`, `int16_t`, `uint32_t`, `int32_t`, `uint64_t`, and `int64_t`.
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_internal
cd concrete_internal
git checkout engine_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_INTERNAL_PROJECT"
make build-initialized
Build the compiler
make concretecompiler
Test the compiler
#TODO: let cmake set this PATH
export LD_LIBRARY_PATH="path_to_concrete-compiler/compiler/build/lib/Runtime/"
make test
Run the compiler
./build/src/concretecompiler