style(cmake): run format_cmake.sh

This commit is contained in:
Mayeul@Zama
2022-11-18 14:00:05 +01:00
committed by mayeul-zama
parent fa3556e8cc
commit 0657767bae
41 changed files with 290 additions and 421 deletions

View File

@@ -18,13 +18,18 @@ if(NOT DEFINED LLVM_EXTERNAL_CONCRETELANG_SOURCE_DIR)
endif()
# CMake library generation settings.
set(BUILD_SHARED_LIBS OFF CACHE BOOL "Default to building a static mondo-lib")
set(CMAKE_PLATFORM_NO_VERSIONED_SONAME ON CACHE BOOL
"Python soname linked libraries are bad")
set(CMAKE_VISIBILITY_INLINES_HIDDEN ON CACHE BOOL "Hide inlines")
set(BUILD_SHARED_LIBS
OFF
CACHE BOOL "Default to building a static mondo-lib")
set(CMAKE_PLATFORM_NO_VERSIONED_SONAME
ON
CACHE BOOL "Python soname linked libraries are bad")
set(CMAKE_VISIBILITY_INLINES_HIDDEN
ON
CACHE BOOL "Hide inlines")
# The -fvisibility=hidden option only works for static builds.
if(BUILD_SHARED_LIBS AND(CMAKE_CXX_VISIBILITY_PRESET STREQUAL "hidden"))
if(BUILD_SHARED_LIBS AND (CMAKE_CXX_VISIBILITY_PRESET STREQUAL "hidden"))
message(FATAL_ERROR "CMAKE_CXX_VISIBILITY_PRESET=hidden is incompatible \
with BUILD_SHARED_LIBS.")
endif()
@@ -72,7 +77,8 @@ if(CONCRETELANG_CUDA_SUPPORT)
link_directories(${CUDAToolkit_LIBRARY_DIR})
include_directories(${CONCRETE_CORE_PATH}/concrete-cuda/cuda/include)
add_library(ConcreteCUDA STATIC IMPORTED)
set_target_properties(ConcreteCUDA PROPERTIES IMPORTED_LOCATION ${CONCRETE_CORE_PATH}/concrete-cuda/cuda/build/src/libconcrete_cuda.a)
set_target_properties(ConcreteCUDA PROPERTIES IMPORTED_LOCATION
${CONCRETE_CORE_PATH}/concrete-cuda/cuda/build/src/libconcrete_cuda.a)
add_compile_options(-DCONCRETELANG_CUDA_SUPPORT)
endif()
@@ -103,19 +109,15 @@ if(CONCRETELANG_DATAFLOW_EXECUTION_ENABLED)
find_package(HPX REQUIRED CONFIG)
include_directories(SYSTEM ${HPX_INCLUDE_DIRS})
list(APPEND CMAKE_MODULE_PATH "${HPX_CMAKE_DIR}")
add_compile_options(
-DCONCRETELANG_DATAFLOW_EXECUTION_ENABLED
-DHPX_DEFAULT_CONFIG_FILE="${PROJECT_SOURCE_DIR}/hpx.ini"
)
add_compile_options(-DCONCRETELANG_DATAFLOW_EXECUTION_ENABLED
-DHPX_DEFAULT_CONFIG_FILE="${PROJECT_SOURCE_DIR}/hpx.ini")
else()
message(STATUS "ConcreteLang dataflow execution disabled.")
endif()
if(CONCRETELANG_TIMING_ENABLED)
add_compile_options(
-DCONCRETELANG_TIMING_ENABLED
)
add_compile_options(-DCONCRETELANG_TIMING_ENABLED)
else()
message(STATUS "ConcreteLang execution timing disabled.")
endif()

View File

@@ -1,3 +1,3 @@
if (CONCRETELANG_BINDINGS_PYTHON_ENABLED)
add_subdirectory(Python)
if(CONCRETELANG_BINDINGS_PYTHON_ENABLED)
add_subdirectory(Python)
endif()

View File

@@ -1,124 +1,140 @@
include(AddMLIRPython)
################################################################################
# ######################################################################################################################
# Decalare native Python extension
################################################################################
# ######################################################################################################################
declare_mlir_python_sources(ConcretelangBindingsPythonExtension)
declare_mlir_python_extension(ConcretelangBindingsPythonExtension.Core
MODULE_NAME _concretelang
ADD_TO_PARENT ConcretelangBindingsPythonExtension
declare_mlir_python_extension(
ConcretelangBindingsPythonExtension.Core
MODULE_NAME
_concretelang
ADD_TO_PARENT
ConcretelangBindingsPythonExtension
SOURCES
ConcretelangModule.cpp
FHEModule.cpp
CompilerAPIModule.cpp
ConcretelangModule.cpp
FHEModule.cpp
CompilerAPIModule.cpp
EMBED_CAPI_LINK_LIBS
CONCRETELANGCAPIFHE
CONCRETELANGCAPIFHELINALG
CONCRETELANGCAPISupport
)
CONCRETELANGCAPIFHE
CONCRETELANGCAPIFHELINALG
CONCRETELANGCAPISupport)
################################################################################
# ######################################################################################################################
# Declare python sources
################################################################################
# ######################################################################################################################
declare_mlir_python_sources(ConcretelangBindingsPythonSources
ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}"
declare_mlir_python_sources(
ConcretelangBindingsPythonSources
ROOT_DIR
"${CMAKE_CURRENT_SOURCE_DIR}"
SOURCES
concrete/compiler/__init__.py
concrete/compiler/client_parameters.py
concrete/compiler/client_support.py
concrete/compiler/compilation_feedback.py
concrete/compiler/compilation_options.py
concrete/compiler/jit_compilation_result.py
concrete/compiler/jit_support.py
concrete/compiler/jit_lambda.py
concrete/compiler/key_set_cache.py
concrete/compiler/key_set.py
concrete/compiler/lambda_argument.py
concrete/compiler/library_compilation_result.py
concrete/compiler/library_support.py
concrete/compiler/library_lambda.py
concrete/compiler/public_arguments.py
concrete/compiler/public_result.py
concrete/compiler/evaluation_keys.py
concrete/compiler/utils.py
concrete/compiler/wrapper.py
concrete/__init__.py
concrete/lang/__init__.py
concrete/lang/dialects/__init__.py
concrete/lang/dialects/_ods_common.py)
concrete/compiler/__init__.py
concrete/compiler/client_parameters.py
concrete/compiler/client_support.py
concrete/compiler/compilation_feedback.py
concrete/compiler/compilation_options.py
concrete/compiler/jit_compilation_result.py
concrete/compiler/jit_support.py
concrete/compiler/jit_lambda.py
concrete/compiler/key_set_cache.py
concrete/compiler/key_set.py
concrete/compiler/lambda_argument.py
concrete/compiler/library_compilation_result.py
concrete/compiler/library_support.py
concrete/compiler/library_lambda.py
concrete/compiler/public_arguments.py
concrete/compiler/public_result.py
concrete/compiler/evaluation_keys.py
concrete/compiler/utils.py
concrete/compiler/wrapper.py
concrete/__init__.py
concrete/lang/__init__.py
concrete/lang/dialects/__init__.py
concrete/lang/dialects/_ods_common.py)
################################################################################
# ######################################################################################################################
# Declare dialect-specific bindings.
################################################################################
# ######################################################################################################################
declare_mlir_python_sources(ConcretelangBindingsPythonSources.Dialects
ADD_TO_PARENT ConcretelangBindingsPythonSources)
declare_mlir_python_sources(ConcretelangBindingsPythonSources.Dialects ADD_TO_PARENT ConcretelangBindingsPythonSources)
declare_mlir_dialect_python_bindings(
ADD_TO_PARENT ConcretelangBindingsPythonSources.Dialects
ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}"
ADD_TO_PARENT
ConcretelangBindingsPythonSources.Dialects
ROOT_DIR
"${CMAKE_CURRENT_SOURCE_DIR}"
CONCRETELANGBindingsPythonFHEOps
TD_FILE concrete/lang/dialects/FHEOps.td
TD_FILE
concrete/lang/dialects/FHEOps.td
SOURCES
concrete/lang/dialects/fhe.py
DIALECT_NAME FHE)
concrete/lang/dialects/fhe.py
DIALECT_NAME
FHE)
declare_mlir_dialect_python_bindings(
ADD_TO_PARENT ConcretelangBindingsPythonSources.Dialects
ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}"
ADD_TO_PARENT
ConcretelangBindingsPythonSources.Dialects
ROOT_DIR
"${CMAKE_CURRENT_SOURCE_DIR}"
CONCRETELANGBindingsPythonFHELinalgOps
TD_FILE concrete/lang/dialects/FHELinalgOps.td
TD_FILE
concrete/lang/dialects/FHELinalgOps.td
SOURCES
concrete/lang/dialects/fhelinalg.py
DIALECT_NAME FHELinalg)
concrete/lang/dialects/fhelinalg.py
DIALECT_NAME
FHELinalg)
################################################################################
# ######################################################################################################################
# Build composite binaries
################################################################################
# ######################################################################################################################
# Bundle our own, self-contained CAPI library with all of our deps.
add_mlir_python_common_capi_library(ConcretelangBindingsPythonCAPI
INSTALL_COMPONENT ConcretelangBindingsPythonModules
INSTALL_DESTINATION python_packages/concretelang_core/mlir/_mlir_libs
# NOTE: When the MLIR API is relocated under concretelang, this would change to
# .../concretelang/_mlir_libs
OUTPUT_DIRECTORY "${CONCRETELANG_PYTHON_PACKAGES_DIR}/concretelang_core/mlir/_mlir_libs"
RELATIVE_INSTALL_ROOT "../../../.."
add_mlir_python_common_capi_library(
ConcretelangBindingsPythonCAPI
INSTALL_COMPONENT
ConcretelangBindingsPythonModules
INSTALL_DESTINATION
python_packages/concretelang_core/mlir/_mlir_libs
# NOTE: When the MLIR API is relocated under concretelang, this would change to .../concretelang/_mlir_libs
OUTPUT_DIRECTORY
"${CONCRETELANG_PYTHON_PACKAGES_DIR}/concretelang_core/mlir/_mlir_libs"
RELATIVE_INSTALL_ROOT
"../../../.."
DECLARED_SOURCES
# TODO: This can be chopped down significantly for size.
MLIRPythonSources
MLIRPythonExtension.AllPassesRegistration
ConcretelangBindingsPythonSources
ConcretelangBindingsPythonExtension
)
# TODO: This can be chopped down significantly for size.
MLIRPythonSources
MLIRPythonExtension.AllPassesRegistration
ConcretelangBindingsPythonSources
ConcretelangBindingsPythonExtension)
# Bundle the MLIR python sources into our package.
# The MLIR API is position independent, so we explicitly output it to the mlir/
# folder as a temporary measure. It will eventually migrate under the concretelang/
# folder and be accessible under the unified "import concretelang..." namespace.
add_mlir_python_modules(ConcretelangMLIRPythonModules
ROOT_PREFIX "${CONCRETELANG_PYTHON_PACKAGES_DIR}/concretelang_core/mlir"
INSTALL_PREFIX "python_packages/concretelang_core/mlir"
# Bundle the MLIR python sources into our package. The MLIR API is position independent, so we explicitly output it to
# the mlir/ folder as a temporary measure. It will eventually migrate under the concretelang/ folder and be accessible
# under the unified "import concretelang..." namespace.
add_mlir_python_modules(
ConcretelangMLIRPythonModules
ROOT_PREFIX
"${CONCRETELANG_PYTHON_PACKAGES_DIR}/concretelang_core/mlir"
INSTALL_PREFIX
"python_packages/concretelang_core/mlir"
DECLARED_SOURCES
MLIRPythonSources
MLIRPythonExtension.AllPassesRegistration
# We need the circt extensions co-located with the MLIR extensions. When
# the namespace is unified, this moves to the below.
ConcretelangBindingsPythonExtension
MLIRPythonSources
MLIRPythonExtension.AllPassesRegistration
# We need the circt extensions co-located with the MLIR extensions. When the namespace is unified, this moves to the
# below.
ConcretelangBindingsPythonExtension
COMMON_CAPI_LINK_LIBS
ConcretelangBindingsPythonCAPI
)
ConcretelangBindingsPythonCAPI)
# Bundle the CONCRETELANG python sources into our package.
add_mlir_python_modules(ConcretelangPythonModules
ROOT_PREFIX "${CONCRETELANG_PYTHON_PACKAGES_DIR}/concretelang_core"
INSTALL_PREFIX "python_packages/concretelang_core"
add_mlir_python_modules(
ConcretelangPythonModules
ROOT_PREFIX
"${CONCRETELANG_PYTHON_PACKAGES_DIR}/concretelang_core"
INSTALL_PREFIX
"python_packages/concretelang_core"
DECLARED_SOURCES
ConcretelangBindingsPythonSources
ConcretelangBindingsPythonSources
COMMON_CAPI_LINK_LIBS
ConcretelangBindingsPythonCAPI
)
ConcretelangBindingsPythonCAPI)

View File

@@ -1,5 +1,4 @@
# CAPI is mainly used by python and need to throw exceptions
# for proper handling of errors on the python-side
# CAPI is mainly used by python and need to throw exceptions for proper handling of errors on the python-side
add_compile_options(-fexceptions)
add_subdirectory(Dialect)

View File

@@ -1,13 +1,11 @@
set(LLVM_OPTIONAL_SOURCES FHE.cpp)
add_mlir_public_c_api_library(CONCRETELANGCAPIFHE
add_mlir_public_c_api_library(
CONCRETELANGCAPIFHE
FHE.cpp
DEPENDS
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRCAPIIR
FHEDialect
)
FHEDialect)

View File

@@ -1,13 +1,11 @@
set(LLVM_OPTIONAL_SOURCES FHELinalg.cpp)
add_mlir_public_c_api_library(CONCRETELANGCAPIFHELINALG
add_mlir_public_c_api_library(
CONCRETELANGCAPIFHELINALG
FHELinalg.cpp
DEPENDS
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRCAPIIR
FHELinalgDialect
)
FHELinalgDialect)

View File

@@ -1,10 +1,4 @@
set(LLVM_OPTIONAL_SOURCES CompilerEngine.cpp)
add_mlir_public_c_api_library(CONCRETELANGCAPISupport
CompilerEngine.cpp
LINK_LIBS PUBLIC
MLIRCAPIIR
ConcretelangSupport
)
add_mlir_public_c_api_library(CONCRETELANGCAPISupport CompilerEngine.cpp LINK_LIBS PUBLIC MLIRCAPIIR
ConcretelangSupport)

View File

@@ -9,6 +9,6 @@ add_subdirectory(ServerLib)
add_subdirectory(Interfaces)
# CAPI needed only for python bindings
if (CONCRETELANG_BINDINGS_PYTHON_ENABLED)
add_subdirectory(CAPI)
if(CONCRETELANG_BINDINGS_PYTHON_ENABLED)
add_subdirectory(CAPI)
endif()

View File

@@ -8,10 +8,8 @@ add_mlir_library(
KeySetCache.cpp
PublicArguments.cpp
Serializers.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/ClientLib
LINK_LIBS PUBLIC
Concrete
)
LINK_LIBS
PUBLIC
Concrete)

View File

@@ -1,14 +1,13 @@
add_mlir_dialect_library(BConcreteToCAPI
add_mlir_dialect_library(
BConcreteToCAPI
BConcreteToCAPI.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Dialect/BConcrete
DEPENDS
BConcreteDialect
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRIR
MLIRTransforms)

View File

@@ -7,9 +7,4 @@ add_subdirectory(BConcreteToCAPI)
add_subdirectory(MLIRLowerableDialectsToLLVM)
add_subdirectory(LinalgExtras)
add_mlir_library(ConcretelangConversion
Tools.cpp
LINK_LIBS PUBLIC
MLIRIR
)
add_mlir_library(ConcretelangConversion Tools.cpp LINK_LIBS PUBLIC MLIRIR)

View File

@@ -1,15 +1,14 @@
add_mlir_dialect_library(ConcreteToBConcrete
add_mlir_dialect_library(
ConcreteToBConcrete
ConcreteToBConcrete.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Dialect/Concrete
DEPENDS
ConcreteDialect
BConcreteDialect
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRIR
MLIRTransforms
MLIRLinalgTransforms

View File

@@ -1,15 +1,14 @@
add_mlir_dialect_library(FHETensorOpsToLinalg
add_mlir_dialect_library(
FHETensorOpsToLinalg
TensorOpsToLinalg.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Dialect/FHE
DEPENDS
FHEDialect
FHELinalgDialect
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRIR
FHEDialect
FHELinalgDialect)

View File

@@ -1,14 +1,13 @@
add_mlir_dialect_library(FHEToTFHE
add_mlir_dialect_library(
FHEToTFHE
FHEToTFHE.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Dialect/FHE
DEPENDS
FHEDialect
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRIR
MLIRTransforms
MLIRMathDialect)

View File

@@ -1,14 +1,13 @@
add_mlir_dialect_library(LinalgExtras
add_mlir_dialect_library(
LinalgExtras
LinalgExtras.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Dialect/Concrete
DEPENDS
ConcreteDialect
ConcretelangConversionPassIncGen
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRIR
MLIRTransforms
MLIRLinalgTransforms)

View File

@@ -1,15 +1,14 @@
get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS)
add_mlir_dialect_library(MLIRLowerableDialectsToLLVM
add_mlir_dialect_library(
MLIRLowerableDialectsToLLVM
MLIRLowerableDialectsToLLVM.cpp
ADDITIONAL_HEADER_DIRS
DEPENDS
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
${dialect_libs}
${conversion_libs}
ConcretelangConversion

View File

@@ -1,16 +1,14 @@
add_mlir_dialect_library(TFHEGlobalParametrization
TFHEGlobalParametrization.cpp
add_mlir_dialect_library(
TFHEGlobalParametrization
TFHEGlobalParametrization.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Dialect/TFHE
DEPENDS
TFHEDialect
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRIR
MLIRTransforms
)
MLIRTransforms)
target_link_libraries(TFHEGlobalParametrization PUBLIC MLIRIR)

View File

@@ -1,15 +1,14 @@
add_mlir_dialect_library(TFHEToConcrete
add_mlir_dialect_library(
TFHEToConcrete
TFHEToConcrete.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Dialect/TFHE
DEPENDS
TFHEDialect
ConcreteDialect
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRIR
MLIRTransforms
MLIRMathDialect)

View File

@@ -1,14 +1,13 @@
add_mlir_dialect_library(BConcreteDialect
add_mlir_dialect_library(
BConcreteDialect
BConcreteDialect.cpp
BConcreteOps.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Dialect/BConcrete
DEPENDS
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRIR)
target_link_libraries(BConcreteDialect PUBLIC MLIRIR)

View File

@@ -1,17 +1,16 @@
add_mlir_dialect_library(ConcretelangBConcreteTransforms
add_mlir_dialect_library(
ConcretelangBConcreteTransforms
BufferizableOpInterfaceImpl.cpp
AddRuntimeContext.cpp
EliminateCRTOps.cpp
AsyncOffload.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Dialect/BConcrete
DEPENDS
BConcreteTransformsIncGen
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
ConcretelangConversion
MLIRArithmeticDialect
MLIRBufferizationDialect
@@ -19,5 +18,4 @@ add_mlir_dialect_library(ConcretelangBConcreteTransforms
MLIRIR
MLIRMemRefDialect
MLIRPass
MLIRTransforms
)
MLIRTransforms)

View File

@@ -1,14 +1,13 @@
add_mlir_dialect_library(ConcreteDialect
add_mlir_dialect_library(
ConcreteDialect
ConcreteDialect.cpp
ConcreteOps.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Dialect/Concrete
DEPENDS
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRIR)
target_link_libraries(ConcreteDialect PUBLIC MLIRIR)

View File

@@ -1,14 +1,12 @@
add_mlir_library(ConcreteDialectTransforms
add_mlir_library(
ConcreteDialectTransforms
Optimization.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Dialect/Concrete
DEPENDS
ConcreteDialect
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRIR
ConcreteDialect
)
ConcreteDialect)

View File

@@ -1,16 +1,14 @@
add_mlir_library(FHEDialectAnalysis
add_mlir_library(
FHEDialectAnalysis
utils.cpp
ConcreteOptimizer.cpp
MANP.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Dialect/FHE
DEPENDS
FHEDialect
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRIR
FHEDialect
)
FHEDialect)

View File

@@ -1,14 +1,13 @@
add_mlir_dialect_library(FHEDialect
add_mlir_dialect_library(
FHEDialect
FHEDialect.cpp
FHEOps.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Dialect/FHE
DEPENDS
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRIR)
target_link_libraries(FHEDialect PUBLIC MLIRIR)

View File

@@ -1,14 +1,13 @@
add_mlir_dialect_library(FHELinalgDialect
add_mlir_dialect_library(
FHELinalgDialect
FHELinalgDialect.cpp
FHELinalgOps.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Dialect/FHELinalg
DEPENDS
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRIR)
target_link_libraries(FHELinalgDialect PUBLIC MLIRIR)

View File

@@ -1,14 +1,12 @@
add_mlir_library(FHELinalgDialectTransforms
add_mlir_library(
FHELinalgDialectTransforms
Tiling.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Dialect/FHELinalg
DEPENDS
FHELinalgDialect
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRIR
FHELinalgDialect
)
FHELinalgDialect)

View File

@@ -1,18 +1,16 @@
add_mlir_library(RTDialectAnalysis
add_mlir_library(
RTDialectAnalysis
BufferizeDataflowTaskOps.cpp
BuildDataflowTaskGraph.cpp
LowerDataflowTasksToRT.cpp
LowerRTToLLVMDFRCallsConversionPatterns.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Dialect/RT
DEPENDS
RTDialect
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRIR
RTDialect
ConcretelangRuntime
)
ConcretelangRuntime)

View File

@@ -1,15 +1,14 @@
add_mlir_dialect_library(RTDialect
add_mlir_dialect_library(
RTDialect
RTDialect.cpp
RTOps.cpp
RTTypes.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Dialect/RT
DEPENDS
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRIR)
target_link_libraries(RTDialect PUBLIC MLIRIR)

View File

@@ -1,19 +1,16 @@
add_mlir_dialect_library(RTDialectTransforms
add_mlir_dialect_library(
RTDialectTransforms
BufferizableOpInterfaceImpl.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Dialect/RT
DEPENDS
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRArithmeticDialect
MLIRBufferizationDialect
MLIRBufferizationTransforms
MLIRIR
MLIRMemRefDialect
MLIRPass
MLIRTransforms
)
MLIRTransforms)

View File

@@ -1,15 +1,14 @@
add_mlir_dialect_library(TFHEDialect
add_mlir_dialect_library(
TFHEDialect
TFHEDialect.cpp
TFHEOps.cpp
TFHETypes.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Dialect/TFHE
DEPENDS
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRIR)
target_link_libraries(TFHEDialect PUBLIC MLIRIR)

View File

@@ -1,12 +1,10 @@
add_mlir_library(ConcretelangInterfaces
add_mlir_library(
ConcretelangInterfaces
BatchableInterface.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/concretelang/Interfaces
DEPENDS
mlir-headers
LINK_LIBS PUBLIC
MLIRIR
)
LINK_LIBS
PUBLIC
MLIRIR)

View File

@@ -1,30 +1,12 @@
add_library(ConcretelangRuntime SHARED
context.cpp
wrappers.cpp
AsyncOffload.cpp
DFRuntime.cpp
seeder.cpp
)
add_library(ConcretelangRuntime SHARED context.cpp wrappers.cpp AsyncOffload.cpp DFRuntime.cpp seeder.cpp)
if(CONCRETELANG_DATAFLOW_EXECUTION_ENABLED)
target_link_libraries(
ConcretelangRuntime
PRIVATE
HPX::hpx HPX::iostreams_component
)
set_source_files_properties(
DFRuntime.cpp
PROPERTIES COMPILE_FLAGS "-fopenmp"
)
target_link_libraries(ConcretelangRuntime PRIVATE HPX::hpx HPX::iostreams_component)
set_source_files_properties(DFRuntime.cpp PROPERTIES COMPILE_FLAGS "-fopenmp")
endif()
if(CONCRETELANG_CUDA_SUPPORT)
target_link_libraries(
ConcretelangRuntime
PRIVATE
ConcreteCUDA
cudart
)
target_link_libraries(ConcretelangRuntime PRIVATE ConcreteCUDA cudart)
endif()
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
@@ -36,21 +18,14 @@ endif()
# Required to link with Concrete
if(APPLE)
find_library(SECURITY_FRAMEWORK Security)
if (NOT SECURITY_FRAMEWORK)
if(NOT SECURITY_FRAMEWORK)
message(FATAL_ERROR "Security framework not found")
endif()
target_link_libraries(ConcretelangRuntime LINK_PUBLIC ${SECURITY_FRAMEWORK})
endif()
target_link_libraries(
ConcretelangRuntime
PUBLIC
Concrete
ConcretelangClientLib
pthread m dl
$<TARGET_OBJECTS:mlir_c_runner_utils>
)
target_link_libraries(ConcretelangRuntime PUBLIC Concrete ConcretelangClientLib pthread m dl
$<TARGET_OBJECTS:mlir_c_runner_utils>)
install(TARGETS ConcretelangRuntime omp EXPORT ConcretelangRuntime)
install(EXPORT ConcretelangRuntime DESTINATION "./")

View File

@@ -1,24 +1,19 @@
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# using GCC
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 9.0)
add_compile_options( -Wno-error=cast-function-type -Wno-cast-function-type)
add_compile_options(-Wno-error=cast-function-type -Wno-cast-function-type)
endif()
endif()
add_mlir_library(
ConcretelangServerLib
DynamicRankCall.cpp
ServerLambda.cpp
DynamicModule.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/ServerLib
DEPENDS
mlir-headers
LINK_LIBS
ConcretelangRuntime
ConcretelangClientLib
)
ConcretelangClientLib)

View File

@@ -1,4 +1,5 @@
add_mlir_library(ConcretelangSupport
add_mlir_library(
ConcretelangSupport
Pipeline.cpp
Jit.cpp
CompilationFeedback.cpp
@@ -11,14 +12,12 @@ add_mlir_library(ConcretelangSupport
logging.cpp
Jit.cpp
LLVMEmitFile.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Support
DEPENDS
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
FHELinalgDialect
FHELinalgDialectTransforms
FHETensorOpsToLinalg
@@ -31,12 +30,9 @@ add_mlir_library(ConcretelangSupport
LinalgExtras
ConcreteDialectTransforms
concrete_optimizer
MLIRExecutionEngine
${LLVM_PTHREAD_LIB}
ConcretelangRuntime
ConcretelangClientLib
ConcretelangServerLib
Concrete
)
Concrete)

View File

@@ -1,19 +1,17 @@
add_mlir_library(ConcretelangTransforms
add_mlir_library(
ConcretelangTransforms
Batching.cpp
ForLoopToParallel.cpp
ADDITIONAL_HEADER_DIRS
${PROJECT_SOURCE_DIR}/include/concretelang/Transforms
DEPENDS
MLIRTransforms
ConcretelangTransformsBufferizePassIncGen
ConcretelangInterfaces
mlir-headers
LINK_LIBS PUBLIC
LINK_LIBS
PUBLIC
MLIRIR
MLIRMemRefDialect
MLIRTransforms
ConcretelangInterfaces
)
ConcretelangInterfaces)

View File

@@ -7,24 +7,20 @@ get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS)
add_dependencies(concretecompiler mlir-headers)
target_link_libraries(concretecompiler
PRIVATE
${dialect_libs}
${conversion_libs}
MLIRTransforms
BConcreteDialect
ConcreteDialect
TFHEDialect
FHEDialect
ConcretelangSupport
ConcretelangTransforms
MLIRIR
MLIRLLVMIRTransforms
MLIRLLVMToLLVMIRTranslation
RTDialect
)
target_link_libraries(
concretecompiler
PRIVATE ${dialect_libs}
${conversion_libs}
MLIRTransforms
BConcreteDialect
ConcreteDialect
TFHEDialect
FHEDialect
ConcretelangSupport
ConcretelangTransforms
MLIRIR
MLIRLLVMIRTransforms
MLIRLLVMToLLVMIRTranslation
RTDialect)
mlir_check_all_link_libraries(concretecompiler)

View File

@@ -1,13 +1,13 @@
if(CONCRETELANG_UNIT_TESTS OR CONCRETELANG_BENCHMARK)
add_subdirectory(end_to_end_fixture)
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
add_subdirectory(end_to_end_fixture)
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
endif()
if(CONCRETELANG_UNIT_TESTS)
add_subdirectory(unit_tests)
add_subdirectory(end_to_end_tests)
add_subdirectory(unit_tests)
add_subdirectory(end_to_end_tests)
endif()
if(CONCRETELANG_BENCHMARK)
add_subdirectory(end_to_end_benchmarks)
add_subdirectory(end_to_end_benchmarks)
endif()

View File

@@ -1,4 +1,3 @@
add_executable(end_to_end_benchmark end_to_end_benchmark.cpp)
target_link_libraries(end_to_end_benchmark benchmark::benchmark ConcretelangSupport EndToEndFixture)
set_source_files_properties(end_to_end_benchmark.cpp PROPERTIES COMPILE_FLAGS "-fno-rtti")
@@ -6,4 +5,3 @@ set_source_files_properties(end_to_end_benchmark.cpp PROPERTIES COMPILE_FLAGS "-
add_executable(end_to_end_mlbench end_to_end_mlbench.cpp)
target_link_libraries(end_to_end_mlbench benchmark::benchmark ConcretelangSupport EndToEndFixture)
set_source_files_properties(end_to_end_mlbench.cpp PROPERTIES COMPILE_FLAGS "-fno-rtti")

View File

@@ -11,70 +11,31 @@ include_directories(${CONCRETE_OPTIMIZER_DIR}/concrete-optimizer-cpp/src/cpp)
if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
link_libraries(
# usefull for old gcc versions
-Wl,--allow-multiple-definition #  static concrete-optimizer and concrete shares some code
-Wl,--allow-multiple-definition # static concrete-optimizer and concrete shares some code
)
endif()
if(CONCRETELANG_DATAFLOW_EXECUTION_ENABLED)
add_compile_options(
-DCONCRETELANG_DATAFLOW_TESTING_ENABLED
)
add_compile_options(-DCONCRETELANG_DATAFLOW_TESTING_ENABLED)
endif()
add_concretecompiler_unittest(
end_to_end_jit_test
end_to_end_jit_test.cc
globals.cc
)
add_concretecompiler_unittest(end_to_end_jit_test end_to_end_jit_test.cc globals.cc)
add_concretecompiler_unittest(
end_to_end_jit_encrypted_tensor
end_to_end_jit_encrypted_tensor.cc
globals.cc
)
add_concretecompiler_unittest(end_to_end_jit_encrypted_tensor end_to_end_jit_encrypted_tensor.cc globals.cc)
add_concretecompiler_unittest(
end_to_end_jit_fhe
end_to_end_jit_fhe.cc
globals.cc
)
add_concretecompiler_unittest(end_to_end_jit_fhe end_to_end_jit_fhe.cc globals.cc)
add_concretecompiler_unittest(
end_to_end_jit_fhelinalg
end_to_end_jit_fhelinalg.cc
globals.cc
)
add_concretecompiler_unittest(end_to_end_jit_fhelinalg end_to_end_jit_fhelinalg.cc globals.cc)
add_concretecompiler_unittest(
end_to_end_jit_lambda
end_to_end_jit_lambda.cc
globals.cc
)
add_concretecompiler_unittest(end_to_end_jit_lambda end_to_end_jit_lambda.cc globals.cc)
if(CONCRETELANG_DATAFLOW_EXECUTION_ENABLED)
add_concretecompiler_unittest(
end_to_end_jit_auto_parallelization
end_to_end_jit_auto_parallelization.cc
globals.cc
)
add_concretecompiler_unittest(
end_to_end_jit_distributed
end_to_end_jit_distributed.cc
globals.cc
)
add_concretecompiler_unittest(
end_to_end_jit_aes_short
end_to_end_jit_aes_short.cc
globals.cc
)
add_concretecompiler_unittest(end_to_end_jit_auto_parallelization end_to_end_jit_auto_parallelization.cc globals.cc)
add_concretecompiler_unittest(end_to_end_jit_distributed end_to_end_jit_distributed.cc globals.cc)
add_concretecompiler_unittest(end_to_end_jit_aes_short end_to_end_jit_aes_short.cc globals.cc)
endif()
if(CONCRETELANG_CUDA_SUPPORT)
add_concretecompiler_unittest(
end_to_end_gpu_test
end_to_end_gpu_test.cc
globals.cc
)
add_concretecompiler_unittest(end_to_end_gpu_test end_to_end_gpu_test.cc globals.cc)
endif()

View File

@@ -2,20 +2,6 @@ add_custom_target(ConcretelangClientlibTests)
add_dependencies(ConcretelangUnitTests ConcretelangClientlibTests)
add_unittest(
ConcretelangClientlibTests
add_unittest(ConcretelangClientlibTests unit_tests_concretelang_clientlib ClientParameters.cpp CRT.cpp KeySet.cpp)
unit_tests_concretelang_clientlib
ClientParameters.cpp
CRT.cpp
KeySet.cpp
)
target_link_libraries(
unit_tests_concretelang_clientlib
PRIVATE
ConcretelangClientLib
ConcretelangSupport
)
target_link_libraries(unit_tests_concretelang_clientlib PRIVATE ConcretelangClientLib ConcretelangSupport)

View File

@@ -10,19 +10,13 @@ endfunction()
if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
link_libraries(
# usefull for old gcc versions
-Wl,--allow-multiple-definition #  static concrete-optimizer and concrete shares some code
-Wl,--allow-multiple-definition # static concrete-optimizer and concrete shares some code
)
endif()
if(CONCRETELANG_DATAFLOW_EXECUTION_ENABLED)
add_compile_options(
-DCONCRETELANG_DATAFLOW_TESTING_ENABLED
)
add_compile_options(-DCONCRETELANG_DATAFLOW_TESTING_ENABLED)
endif()
add_concretecompiler_lib_test(
unit_tests_concretelang_testlib
testlib_unit_test.cpp
)
add_concretecompiler_lib_test(unit_tests_concretelang_testlib testlib_unit_test.cpp)