File tree Expand file tree Collapse file tree 2 files changed +57
-0
lines changed Expand file tree Collapse file tree 2 files changed +57
-0
lines changed Original file line number Diff line number Diff line change
1
+ # Copyright (C) 2024 Intel Corporation
2
+ # Part of the Unified-Runtime Project, under the Apache License v2.0 with LLVM Exceptions.
3
+ # See LICENSE.TXT
4
+ # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
5
+
6
+ # This is lifted from intel-llvm's FindCUDACupti implementation
7
+ # https://github.com/intel/llvm/blob/0cd04144d9ca83371c212e8e4709a59c968291b9/sycl/cmake/modules/FindCUDACupti.cmake
8
+
9
+ macro (find_cuda_cupti_library )
10
+ find_library (CUDA_cupti_LIBRARY
11
+ NAMES cupti
12
+ HINTS ${CUDA_TOOLKIT_ROOT_DIR}
13
+ ENV CUDA_PATH
14
+ PATH_SUFFIXES nvidia/current lib64 lib/x64 lib
15
+ ../extras/CUPTI/lib64/
16
+ ../extras/CUPTI/lib/
17
+ )
18
+ endmacro ()
19
+
20
+ macro (find_cuda_cupti_include_dir )
21
+ find_path (CUDA_CUPTI_INCLUDE_DIR cupti.h PATHS
22
+ "${CUDA_TOOLKIT_ROOT_DIR} /extras/CUPTI/include"
23
+ "${CUDA_INCLUDE_DIRS} /../extras/CUPTI/include"
24
+ "${CUDA_INCLUDE_DIRS} "
25
+ NO_DEFAULT_PATH )
26
+ endmacro ()
Original file line number Diff line number Diff line change @@ -76,15 +76,46 @@ else()
76
76
message (WARNING "CUDA adapter USM pools are disabled, set UMF_ENABLE_POOL_TRACKING to enable them" )
77
77
endif ()
78
78
79
+ if (UR_ENABLE_TRACING )
80
+ include (FindCUDACupti )
81
+ # The following two ifs can be removed when FindCUDA -> FindCUDAToolkit.
82
+ # CUDA_CUPTI_INCLUDE_DIR -> CUDAToolkit_CUPTI_INCLUDE_DIR
83
+ if (NOT CUDA_CUPTI_INCLUDE_DIR )
84
+ find_cuda_cupti_include_dir ()
85
+ endif ()
86
+ # CUDA_cupti_LIBRARY -> CUDAToolkit_cupti_LIBRARY
87
+ if (NOT CUDA_cupti_LIBRARY )
88
+ find_cuda_cupti_library ()
89
+ endif ()
90
+
91
+ if (NOT XPTI_INCLUDES )
92
+ get_target_property (XPTI_INCLUDES xpti INCLUDE_DIRECTORIES )
93
+ endif ()
94
+ if (NOT XPTI_PROXY_SRC )
95
+ get_target_property (XPTI_SRC_DIR xpti SOURCE_DIR )
96
+ set (XPTI_PROXY_SRC "${XPTI_SRC_DIR} /xpti_proxy.cpp" )
97
+ endif ()
98
+ target_compile_definitions (${TARGET_NAME} PRIVATE
99
+ XPTI_ENABLE_INSTRUMENTATION
100
+ )
101
+ target_include_directories (${TARGET_NAME} PUBLIC
102
+ ${XPTI_INCLUDES}
103
+ ${CUDA_CUPTI_INCLUDE_DIR}
104
+ )
105
+ target_sources (${TARGET_NAME} PRIVATE ${XPTI_PROXY_SRC} )
106
+ endif ()
107
+
79
108
if (CUDA_cupti_LIBRARY )
80
109
target_compile_definitions ("ur_adapter_cuda" PRIVATE CUPTI_LIB_PATH= "${CUDA_cupti_LIBRARY} " )
110
+ list (APPEND EXTRA_LIBS ${CUDA_cupti_LIBRARY} )
81
111
endif ()
82
112
83
113
target_link_libraries (${TARGET_NAME} PRIVATE
84
114
${PROJECT_NAME} ::headers
85
115
${PROJECT_NAME} ::common
86
116
Threads::Threads
87
117
cudadrv
118
+ ${EXTRA_LIBS}
88
119
)
89
120
90
121
target_include_directories (${TARGET_NAME} PRIVATE
You can’t perform that action at this time.
0 commit comments