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()
7676 message (WARNING "CUDA adapter USM pools are disabled, set UMF_ENABLE_POOL_TRACKING to enable them" )
7777endif ()
7878
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+
79108if (CUDA_cupti_LIBRARY)
80109 target_compile_definitions ("ur_adapter_cuda" PRIVATE CUPTI_LIB_PATH="${CUDA_cupti_LIBRARY} " )
110+ list (APPEND EXTRA_LIBS ${CUDA_cupti_LIBRARY} )
81111endif ()
82112
83113target_link_libraries (${TARGET_NAME} PRIVATE
84114 ${PROJECT_NAME} ::headers
85115 ${PROJECT_NAME} ::common
86116 Threads::Threads
87117 cudadrv
118+ ${EXTRA_LIBS}
88119)
89120
90121target_include_directories (${TARGET_NAME} PRIVATE
You can’t perform that action at this time.
0 commit comments