Back to home page

EIC code displayed by LXR

 
 

    


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

0001 add_library(
0002     ActsPluginExaTrkX
0003     SHARED
0004     src/ExaTrkXPipeline.cpp
0005     src/Tensor.cpp
0006     src/BoostTrackBuilding.cpp
0007     src/TruthGraphMetricsHook.cpp
0008     src/GraphStoreHook.cpp
0009 )
0010 
0011 if(ACTS_EXATRKX_ENABLE_CUDA)
0012     target_compile_definitions(ActsPluginExaTrkX PUBLIC ACTS_EXATRKX_WITH_CUDA)
0013     target_sources(
0014         ActsPluginExaTrkX
0015         PRIVATE src/CudaTrackBuilding.cu src/JunctionRemoval.cu src/Tensor.cu
0016     )
0017 endif()
0018 
0019 if(ACTS_EXATRKX_ENABLE_MODULEMAP)
0020     target_compile_definitions(
0021         ActsPluginExaTrkX
0022         PUBLIC ACTS_EXATRKX_WITH_MODULEMAP
0023     )
0024 
0025     target_link_libraries(
0026         ActsPluginExaTrkX
0027         PRIVATE ModuleMapGraph::CPU ModuleMapGraph::GPU
0028     )
0029     target_sources(ActsPluginExaTrkX PRIVATE src/ModuleMapCuda.cu)
0030 endif()
0031 
0032 if(ACTS_EXATRKX_ENABLE_ONNX)
0033     target_sources(ActsPluginExaTrkX PRIVATE src/OnnxEdgeClassifier.cpp)
0034     target_link_libraries(ActsPluginExaTrkX PRIVATE onnxruntime::onnxruntime)
0035     target_compile_definitions(
0036         ActsPluginExaTrkX
0037         PUBLIC ACTS_EXATRKX_ONNX_BACKEND
0038     )
0039 endif()
0040 
0041 if(ACTS_EXATRKX_ENABLE_TORCH)
0042     target_sources(
0043         ActsPluginExaTrkX
0044         PRIVATE
0045             src/TorchEdgeClassifier.cpp
0046             src/TorchMetricLearning.cpp
0047             src/buildEdges.cpp
0048     )
0049 endif()
0050 
0051 if(ACTS_EXATRKX_ENABLE_TENSORRT)
0052     find_package(TensorRT REQUIRED)
0053     message(STATUS "Found TensorRT ${TensorRT_VERSION}")
0054     target_link_libraries(
0055         ActsPluginExaTrkX
0056         PUBLIC trt::nvinfer trt::nvinfer_plugin
0057     )
0058     target_sources(ActsPluginExaTrkX PRIVATE src/TensorRTEdgeClassifier.cpp)
0059     target_compile_definitions(
0060         ActsPluginExaTrkX
0061         PUBLIC ACTS_EXATRKX_WITH_TENSORRT
0062     )
0063 endif()
0064 
0065 target_include_directories(
0066     ActsPluginExaTrkX
0067     PUBLIC
0068         $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
0069         $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
0070 )
0071 
0072 target_link_libraries(ActsPluginExaTrkX PUBLIC ActsCore Boost::boost)
0073 
0074 target_link_libraries(ActsPluginExaTrkX PRIVATE std::filesystem)
0075 
0076 if(ACTS_EXATRKX_ENABLE_CUDA)
0077     target_compile_features(ActsPluginExaTrkX PUBLIC cuda_std_20)
0078     set_target_properties(
0079         ActsPluginExaTrkX
0080         PROPERTIES CUDA_STANDARD_REQUIRED ON CUDA_SEPARABLE_COMPILATION OFF
0081     )
0082     target_compile_options(
0083         ActsPluginExaTrkX
0084         PRIVATE
0085             $<$<COMPILE_LANGUAGE:CUDA>:-g
0086             --generate-line-info
0087             --expt-relaxed-constexpr
0088             --extended-lambda>
0089     )
0090     target_compile_definitions(
0091         ActsPluginExaTrkX
0092         PUBLIC CUDA_API_PER_THREAD_DEFAULT_STREAM
0093     )
0094     target_link_libraries(ActsPluginExaTrkX PUBLIC CUDA::cudart)
0095 else()
0096     target_compile_definitions(ActsPluginExaTrkX PUBLIC ACTS_EXATRKX_CPUONLY)
0097 endif()
0098 
0099 if(ACTS_EXATRKX_ENABLE_TORCH)
0100     target_compile_definitions(
0101         ActsPluginExaTrkX
0102         PUBLIC ACTS_EXATRKX_TORCH_BACKEND
0103     )
0104     target_link_libraries(ActsPluginExaTrkX PRIVATE ${TORCH_LIBRARIES} frnn)
0105     find_package(TorchScatter QUIET)
0106     if(NOT TARGET TorchScatter::TorchScatter)
0107         message(
0108             WARNING
0109             "Torch scatter not found, models that rely on torch-scatter will not work"
0110         )
0111     else()
0112         target_link_libraries(
0113             ActsPluginExaTrkX
0114             PRIVATE TorchScatter::TorchScatter
0115         )
0116         # Should not discard TorchScatter even if its not needed at this point
0117         # since we need the scatter_max operation in the torch script later
0118         target_link_options(ActsPluginExaTrkX PUBLIC "-Wl,-no-as-needed")
0119     endif()
0120 endif()
0121 
0122 install(
0123     TARGETS ActsPluginExaTrkX
0124     EXPORT ActsPluginExaTrkXTargets
0125     LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
0126 )
0127 install(DIRECTORY include/Acts DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})