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})