Back to home page

sPhenix code displayed by LXR

 
 

    


Warning, /acts/Plugins/ExaTrkX/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 set(SOURCES 
0002   src/buildEdges.cpp
0003   src/ExaTrkXPipeline.cpp
0004 )
0005 
0006 if(ACTS_EXATRKX_ENABLE_ONNX)
0007   list(APPEND SOURCES 
0008     src/OnnxEdgeClassifier.cpp
0009     src/OnnxMetricLearning.cpp
0010     src/CugraphTrackBuilding.cpp
0011   )
0012 endif()
0013 
0014 if(ACTS_EXATRKX_ENABLE_TORCH)
0015   list(APPEND SOURCES 
0016     src/TorchEdgeClassifier.cpp
0017     src/TorchMetricLearning.cpp
0018     src/BoostTrackBuilding.cpp
0019     src/TorchTruthGraphMetricsHook.cpp
0020     src/TorchGraphStoreHook.cpp
0021   )
0022 endif()
0023 
0024 add_library(
0025   ActsPluginExaTrkX SHARED
0026   ${SOURCES}
0027 )
0028 
0029 set_target_properties(ActsPluginExaTrkX
0030   PROPERTIES  
0031     BUILD_RPATH                         "\$ORIGIN"
0032     INSTALL_RPATH                       "\$ORIGIN"
0033     CXX_STANDARD                        17
0034     CXX_STANDARD_REQUIRED               ON
0035     CUDA_STANDARD                       17
0036     CUDA_STANDARD_REQUIRED              ON
0037     INTERFACE_POSITION_INDEPENDENT_CODE ON
0038     CUDA_SEPARABLE_COMPILATION          ON
0039 )
0040 
0041 target_compile_options(ActsPluginExaTrkX
0042     PRIVATE "$<$<COMPILE_LANGUAGE:CXX>:${EXATRKX_CXX_FLAGS}>"
0043             "$<$<COMPILE_LANGUAGE:CUDA>:${EXATRKX_CUDA_FLAGS}>")
0044             
0045 target_compile_definitions(ActsPluginExaTrkX PUBLIC CUDA_API_PER_THREAD_DEFAULT_STREAM)
0046 target_compile_definitions(ActsPluginExaTrkX PUBLIC TRITON_ENABLE_GPU)
0047 target_compile_definitions(ActsPluginExaTrkX PUBLIC NO_CUGRAPH_OPS)
0048 
0049 target_include_directories(
0050   ActsPluginExaTrkX
0051   PUBLIC 
0052     $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
0053     $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
0054 )
0055 
0056 target_link_libraries(
0057   ActsPluginExaTrkX
0058   PUBLIC
0059     ActsCore
0060     Boost::boost
0061   PRIVATE
0062     ${TORCH_LIBRARIES}
0063     std::filesystem
0064 )
0065 
0066 if(CUDAToolkit_FOUND)
0067   target_link_libraries(
0068     ActsPluginExaTrkX
0069     PRIVATE
0070       frnn
0071   )
0072 else()
0073   target_compile_definitions(ActsPluginExaTrkX PUBLIC ACTS_EXATRKX_CPUONLY)
0074 endif()
0075 
0076 if(ACTS_EXATRKX_ENABLE_ONNX)
0077   target_compile_definitions(ActsPluginExaTrkX PUBLIC ACTS_EXATRKX_ONNX_BACKEND)
0078 
0079   target_link_libraries(
0080     ActsPluginExaTrkX
0081     PRIVATE
0082       OnnxRuntime
0083       cugraph::cugraph
0084   )
0085 endif()
0086 
0087 if(ACTS_EXATRKX_ENABLE_TORCH)
0088   target_compile_definitions(ActsPluginExaTrkX PUBLIC ACTS_EXATRKX_TORCH_BACKEND)
0089 
0090   target_link_libraries(
0091     ActsPluginExaTrkX
0092     PRIVATE
0093       TorchScatter::TorchScatter
0094   )
0095 
0096   # Should not discard TorchScatter even if its not needed at this point 
0097   # since we need the scatter_max operation in the torch script later
0098   target_link_options(
0099     ActsPluginExaTrkX
0100     PUBLIC
0101       "-Wl,-no-as-needed"
0102   )
0103 endif()
0104 
0105 
0106 install(
0107   TARGETS ActsPluginExaTrkX
0108   EXPORT ActsPluginExaTrkXTargets
0109   LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
0110 install(
0111   DIRECTORY include/Acts
0112   DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})