mirror of
https://github.com/zama-ai/concrete.git
synced 2026-02-09 20:25:34 -05:00
This commit contains several incremental improvements towards a clear
interface for lambdas:
- Unification of static and JIT compilation by using the static
compilation path of `CompilerEngine` within a new subclass
`JitCompilerEngine`.
- Clear ownership for compilation artefacts through
`CompilationContext`, making it impossible to destroy objects used
directly or indirectly before destruction of their users.
- Clear interface for lambdas generated by the compiler through
`JitCompilerEngine::Lambda` with a templated call operator,
encapsulating otherwise manual orchestration of `CompilerEngine`,
`JITLambda`, and `CompilerEngine::Argument`.
- Improved error handling through `llvm::Expected<T>` and proper
error checking following the conventions for `llvm::Expected<T>`
and `llvm::Error`.
Co-authored-by: youben11 <ayoub.benaissa@zama.ai>
33 lines
549 B
CMake
33 lines
549 B
CMake
add_mlir_library(ZamalangSupport
|
|
Error.cpp
|
|
Pipeline.cpp
|
|
Jit.cpp
|
|
CompilerEngine.cpp
|
|
JitCompilerEngine.cpp
|
|
LambdaArgument.cpp
|
|
V0Parameters.cpp
|
|
V0Curves.cpp
|
|
ClientParameters.cpp
|
|
KeySet.cpp
|
|
logging.cpp
|
|
Jit.cpp
|
|
|
|
ADDITIONAL_HEADER_DIRS
|
|
${PROJECT_SOURCE_DIR}/include/zamalang/Support
|
|
|
|
DEPENDS
|
|
MLIRConversionPassIncGen
|
|
|
|
LINK_LIBS PUBLIC
|
|
HLFHETensorOpsToLinalg
|
|
HLFHEToMidLFHE
|
|
LowLFHEUnparametrize
|
|
MLIRLowerableDialectsToLLVM
|
|
HLFHEDialectAnalysis
|
|
|
|
MLIRExecutionEngine
|
|
${LLVM_PTHREAD_LIB}
|
|
|
|
ZamalangRuntime
|
|
)
|