@@ -82,14 +82,45 @@ add_custom_command(
8282# ============
8383# Target
8484# ============
85- FILE (GLOB MyCppSources ${PROJECT_SOURCE_DIR} /src/*.cpp ${PROJECT_SOURCE_DIR} /src/include /ddptensor/*.hpp)
86- set (MyCppSources ${MyCppSources} ${PROJECT_SOURCE_DIR} /src/jit/mlir.cpp ${P2C_HPP} )
8785
88- pybind11_add_module(_ddptensor MODULE ${MyCppSources} )
86+ FILE (GLOB Hpps ${PROJECT_SOURCE_DIR} /src/include /ddptensor/*.hpp)
87+ set (Hpps ${Hpps} ${P2C_HPP} )
88+
89+ set (DDPTSrcs
90+ ${PROJECT_SOURCE_DIR} /src/ddptensor.cpp
91+ ${PROJECT_SOURCE_DIR} /src/Creator.cpp
92+ ${PROJECT_SOURCE_DIR} /src/EWBinOp.cpp
93+ ${PROJECT_SOURCE_DIR} /src/EWUnyOp.cpp
94+ ${PROJECT_SOURCE_DIR} /src/IEWBinOp.cpp
95+ ${PROJECT_SOURCE_DIR} /src/IO.cpp
96+ ${PROJECT_SOURCE_DIR} /src/LinAlgOp.cpp
97+ ${PROJECT_SOURCE_DIR} /src/ManipOp.cpp
98+ ${PROJECT_SOURCE_DIR} /src/Random.cpp
99+ ${PROJECT_SOURCE_DIR} /src/ReduceOp.cpp
100+ ${PROJECT_SOURCE_DIR} /src/Service.cpp
101+ ${PROJECT_SOURCE_DIR} /src/SetGetItem.cpp
102+ )
103+ set (IDTRSrcs
104+ ${PROJECT_SOURCE_DIR} /src/idtr.cpp
105+ ${PROJECT_SOURCE_DIR} /src/CollComm.cpp
106+ ${PROJECT_SOURCE_DIR} /src/Deferred.cpp
107+ ${PROJECT_SOURCE_DIR} /src/Factory.cpp
108+ ${PROJECT_SOURCE_DIR} /src/Mediator.cpp
109+ ${PROJECT_SOURCE_DIR} /src/MPIMediator.cpp
110+ ${PROJECT_SOURCE_DIR} /src/MPITransceiver.cpp
111+ ${PROJECT_SOURCE_DIR} /src/PVSlice.cpp
112+ ${PROJECT_SOURCE_DIR} /src/Registry.cpp
113+ ${PROJECT_SOURCE_DIR} /src/Transceiver.cpp
114+ ${PROJECT_SOURCE_DIR} /src/jit/mlir.cpp
115+ )
116+
117+ pybind11_add_module(_ddptensor MODULE ${DDPTSrcs} ${Hpps} )
118+ add_library (idtr SHARED ${IDTRSrcs} ${Hpps} )
119+ set (AllTargets _ddptensor idtr)
89120
90- target_compile_definitions (_ddptensor PRIVATE USE_MKL=1 DDPT_2TYPES =1)
91- target_compile_options (_ddptensor PRIVATE "-ftemplate-backtrace-limit=0" )
92- target_include_directories (_ddptensor PRIVATE
121+ add_compile_definitions ( USE_MKL=1)
122+ add_compile_options ( "-ftemplate-backtrace-limit=0" )
123+ include_directories (
93124 ${PROJECT_SOURCE_DIR} /src/include
94125 ${PROJECT_SOURCE_DIR} /third_party/bitsery/include
95126 ${MPI_INCLUDE_PATH}
@@ -103,20 +134,22 @@ if (CMAKE_SYSTEM_NAME STREQUAL Linux)
103134 target_link_options (_ddptensor PRIVATE "LINKER:--version-script=${CMAKE_CURRENT_SOURCE_DIR} /export.txt" )
104135endif ()
105136
106- #target_compile_options (_ddptensor PRIVATE -fopenmp)
137+ #compile_options (_ddptensor PRIVATE -fopenmp)
107138get_property (dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
108139get_property (conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS)
109140get_property (mlir_all_libs GLOBAL PROPERTY MLIR_ALL_LIBS)
110141get_property (imex_all_libs GLOBAL PROPERTY IMEX_ALL_LIBS)
111142
112143#llvm_update_compile_flags(_ddpttensor)
113- target_link_directories (_ddptensor PRIVATE
114- ${CONDA_PREFIX} /lib
115- ${IMEX_INSTALL_PREFIX} /lib
116- )
144+ target_link_directories (_ddptensor PRIVATE ${CONDA_PREFIX} /lib)
145+ target_link_directories (idtr PRIVATE ${CONDA_PREFIX} /lib ${IMEX_INSTALL_PREFIX} /lib)
117146
118- message (${imex_all_libs} )
119147target_link_libraries (_ddptensor PRIVATE
148+ # ${MKL_LIBRARIES}
149+ # tbb
150+ idtr
151+ )
152+ target_link_libraries (idtr PRIVATE
120153 ${MPI_C_LIBRARIES}
121154 # ${MKL_LIBRARIES}
122155 tbb
0 commit comments