@@ -51,21 +51,47 @@ endif()
51
51
52
52
# Set LIBKINETO_NOCUPTI to explicitly disable CUPTI
53
53
# Otherwise, CUPTI is disabled if not found
54
- set (LIBKINETO_NOCUPTI ON CACHE BOOL "" FORCE )
54
+ option (LIBKINETO_NOCUPTI "Disable CUPTI" OFF )
55
55
56
56
find_package (CUDAToolkit )
57
- if (TARGET CUDA::cupti )
58
- message (STATUS "Found CUPTI" )
59
- set (LIBKINETO_NOCUPTI OFF CACHE BOOL "" FORCE )
60
- else ()
61
- message (STATUS "Could not find CUPTI library" )
57
+ if (NOT LIBKINETO_NOCUPTI )
58
+ if (NOT CUPTI_INCLUDE_DIR )
59
+ find_path (CUPTI_INCLUDE_DIR cupti.h PATHS
60
+ "${CUDAToolkit_LIBRARY_ROOT} /extras/CUPTI/include"
61
+ "${CUDAToolkit_LIBRARY_ROOT} "
62
+ "${CUDAToolkit_LIBRARY_ROOT} /include"
63
+ NO_DEFAULT_PATH )
64
+ endif ()
65
+
66
+ if (NOT CUDA_cupti_LIBRARY )
67
+ find_library (CUDA_cupti_LIBRARY cupti PATHS
68
+ "${CUDAToolkit_LIBRARY_ROOT} "
69
+ "${CUDAToolkit_LIBRARY_ROOT} /extras/CUPTI/lib64"
70
+ "${CUDAToolkit_LIBRARY_ROOT} /lib"
71
+ "${CUDAToolkit_LIBRARY_ROOT} /lib64"
72
+ NO_DEFAULT_PATH )
73
+ endif ()
74
+
75
+ if (CUDA_cupti_LIBRARY AND CUPTI_INCLUDE_DIR )
76
+ message (STATUS " CUPTI_INCLUDE_DIR = ${CUPTI_INCLUDE_DIR} " )
77
+ message (STATUS " CUDA_cupti_LIBRARY = ${CUDA_cupti_LIBRARY} " )
78
+ message (STATUS "Found CUPTI" )
79
+ set (LIBKINETO_NOCUPTI OFF CACHE BOOL "" FORCE )
80
+ else ()
81
+ message (STATUS "Could not find CUPTI library" )
82
+ endif ()
83
+ if (NOT TARGET CUDA::cupti )
84
+ add_library (CUDA::cupti INTERFACE IMPORTED )
85
+ target_link_libraries (CUDA::cupti INTERFACE "${CUDA_cupti_LIBRARY} " )
86
+ endif ()
87
+ target_include_directories (CUDA::cupti INTERFACE "${CUPTI_INCLUDE_DIR} " )
62
88
endif ()
63
89
if (NOT TARGET CUDA::nvperf_host )
64
90
find_library (CUDA_NVPERF_HOST_LIB_PATH nvperf_host PATHS
65
- ${CUDAToolkit_LIBRARY_ROOT}
66
- ${CUDAToolkit_LIBRARY_ROOT} /extras/CUPTI/lib64
67
- ${CUDAToolkit_LIBRARY_ROOT} /lib
68
- ${CUDAToolkit_LIBRARY_ROOT} /lib64
91
+ " ${CUDAToolkit_LIBRARY_ROOT} "
92
+ " ${CUDAToolkit_LIBRARY_ROOT} /extras/CUPTI/lib64"
93
+ " ${CUDAToolkit_LIBRARY_ROOT} /lib"
94
+ " ${CUDAToolkit_LIBRARY_ROOT} /lib64"
69
95
NO_DEFAULT_PATH )
70
96
if (CUDA_NVPERF_HOST_LIB_PATH )
71
97
message (STATUS "Found NVPERF: ${CUDA_NVPERF_HOST_LIB_PATH} " )
@@ -221,8 +247,8 @@ if(NOT LIBKINETO_NOROCTRACER)
221
247
endif ()
222
248
223
249
if (NOT LIBKINETO_NOCUPTI )
224
- target_link_libraries (kineto_base PUBLIC CUDA::cupti CUDA::cudart CUDA::cuda_driver )
225
250
target_link_libraries (kineto PUBLIC CUDA::cupti CUDA::cudart CUDA::cuda_driver )
251
+ target_link_libraries (kineto_base PUBLIC CUDA::cupti CUDA::cudart CUDA::cuda_driver )
226
252
endif ()
227
253
if (TARGET CUDA::nvperf_host )
228
254
target_link_libraries (kineto_base PRIVATE CUDA::nvperf_host )
0 commit comments