Skip to content

Commit 8a927e9

Browse files
committed
Add LIBKINETO_NOCUPTI option
Signed-off-by: cyy <[email protected]>
1 parent 0af32be commit 8a927e9

File tree

1 file changed

+37
-11
lines changed

1 file changed

+37
-11
lines changed

libkineto/CMakeLists.txt

Lines changed: 37 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -51,21 +51,47 @@ endif()
5151

5252
# Set LIBKINETO_NOCUPTI to explicitly disable CUPTI
5353
# Otherwise, CUPTI is disabled if not found
54-
set(LIBKINETO_NOCUPTI ON CACHE BOOL "" FORCE)
54+
option(LIBKINETO_NOCUPTI "Disable CUPTI" OFF)
5555

5656
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}")
6288
endif()
6389
if(NOT TARGET CUDA::nvperf_host)
6490
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"
6995
NO_DEFAULT_PATH)
7096
if(CUDA_NVPERF_HOST_LIB_PATH)
7197
message(STATUS "Found NVPERF: ${CUDA_NVPERF_HOST_LIB_PATH}")
@@ -221,8 +247,8 @@ if(NOT LIBKINETO_NOROCTRACER)
221247
endif()
222248

223249
if(NOT LIBKINETO_NOCUPTI)
224-
target_link_libraries(kineto_base PUBLIC CUDA::cupti CUDA::cudart CUDA::cuda_driver)
225250
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)
226252
endif()
227253
if(TARGET CUDA::nvperf_host)
228254
target_link_libraries(kineto_base PRIVATE CUDA::nvperf_host)

0 commit comments

Comments
 (0)