Skip to content

Commit c42856f

Browse files
committed
check cupti as FindCUDAToolkit
1 parent 4819ec3 commit c42856f

File tree

2 files changed

+51
-14
lines changed

2 files changed

+51
-14
lines changed

sycl/plugins/cuda/CMakeLists.txt

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,40 @@ message(STATUS "Including the PI API CUDA backend.")
44
# we only require the CUDA driver API to be used
55
# CUDA_CUDA_LIBRARY variable defines the path to libcuda.so, the CUDA Driver API library.
66

7-
find_package(CUDAToolkit 10.1 REQUIRED)
8-
9-
message(STATUS "Including the PI API CUDA backend.")
7+
find_package(CUDA 10.1 REQUIRED)
108

119
# Make imported library global to use it within the project.
1210
add_library(cudadrv SHARED IMPORTED GLOBAL)
1311

1412
if (WIN32)
1513
set_target_properties(
1614
cudadrv PROPERTIES
17-
IMPORTED_IMPLIB ${CUDA_cuda_driver_LIBRARY}
18-
INTERFACE_INCLUDE_DIRECTORIES ${CUDAToolkit_INCLUDE_DIRS}
15+
IMPORTED_IMPLIB ${CUDA_CUDA_LIBRARY}
16+
INTERFACE_INCLUDE_DIRECTORIES ${CUDA_INCLUDE_DIRS}
1917
)
2018
else()
2119
set_target_properties(
2220
cudadrv PROPERTIES
23-
IMPORTED_LOCATION ${CUDA_cuda_driver_LIBRARY}
24-
INTERFACE_INCLUDE_DIRECTORIES ${CUDAToolkit_INCLUDE_DIRS}
21+
IMPORTED_LOCATION ${CUDA_CUDA_LIBRARY}
22+
INTERFACE_INCLUDE_DIRECTORIES ${CUDA_INCLUDE_DIRS}
2523
)
2624
endif()
2725

2826
if (SYCL_ENABLE_XPTI_TRACING)
2927
set(XPTI_PROXY_SRC "${CMAKE_SOURCE_DIR}/../xpti/src/xpti_proxy.cpp")
3028
endif()
3129

30+
if(NOT CUDA_cupti_LIBRARY)
31+
find_library(CUDA_cupti_LIBRARY
32+
NAMES cupti
33+
HINTS ${CUDA_TOOLKIT_ROOT_DIR}
34+
ENV CUDA_PATH
35+
PATH_SUFFIXES nvidia/current lib64 lib/x64 lib
36+
../extras/CUPTI/lib64/
37+
../extras/CUPTI/lib/
38+
)
39+
endif()
40+
3241
add_sycl_plugin(cuda
3342
SOURCES
3443
"${sycl_inc_dir}/sycl/detail/pi.h"
@@ -51,10 +60,18 @@ if (SYCL_ENABLE_XPTI_TRACING)
5160
target_link_libraries(pi_cuda PRIVATE ${CMAKE_DL_LIBS})
5261
endif()
5362

63+
# The following find_path can be removed when FindCUDA -> FindCUDAToolkit, and
64+
# _CUPTI_INCLUDE_DIR -> CUDAToolkit_CUPTI_INCLUDE_DIR
65+
find_path(_CUPTI_INCLUDE_DIR cupti.h PATHS
66+
"${CUDA_TOOLKIT_ROOT_DIR}/extras/CUPTI/include"
67+
"${CUDA_INCLUDE_DIRS}/../extras/CUPTI/include"
68+
"${CUDA_INCLUDE_DIRS}"
69+
NO_DEFAULT_PATH)
70+
5471
target_include_directories(pi_cuda
5572
PRIVATE
5673
${sycl_inc_dir}
57-
"${CUDA_TOOLKIT_ROOT_DIR}/extras/CUPTI/include"
74+
${_CUPTI_INCLUDE_DIR}
5875
)
5976

6077
set_target_properties(pi_cuda PROPERTIES LINKER_LANGUAGE CXX)

sycl/tools/sycl-trace/CMakeLists.txt

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,28 +60,48 @@ add_dependencies(sycl_pi_trace_collector pi-pretty-printers ze-pretty-printers)
6060

6161
if(SYCL_BUILD_PI_CUDA)
6262

63+
find_package(CUDA 10.1 REQUIRED)
6364
target_compile_definitions(sycl_pi_trace_collector
6465
PRIVATE
6566
$<$<BOOL:${SYCL_BUILD_PI_CUDA}>:USE_PI_CUDA>
6667
)
6768

68-
find_package(CUDAToolkit 10.1 REQUIRED)
69+
# The following find_path can be removed when FindCUDA -> FindCUDAToolkit, and
70+
# _CUPTI_INCLUDE_DIR -> CUDAToolkit_CUPTI_INCLUDE_DIR
71+
find_path(_CUPTI_INCLUDE_DIR cupti.h PATHS
72+
"${CUDA_TOOLKIT_ROOT_DIR}/extras/CUPTI/include"
73+
"${CUDA_INCLUDE_DIRS}/../extras/CUPTI/include"
74+
"${CUDA_INCLUDE_DIRS}"
75+
NO_DEFAULT_PATH)
76+
6977
target_include_directories(sycl_pi_trace_collector
7078
PRIVATE
71-
"${CUDA_TOOLKIT_ROOT_DIR}/extras/CUPTI/include"
79+
${_CUPTI_INCLUDE_DIR}
7280
)
7381

82+
# The following if can be removed when FindCUDA -> FindCUDAToolkit
83+
if(NOT CUDA_cupti_LIBRARY)
84+
find_library(CUDA_cupti_LIBRARY
85+
NAMES cupti
86+
HINTS ${CUDA_TOOLKIT_ROOT_DIR}
87+
ENV CUDA_PATH
88+
PATH_SUFFIXES nvidia/current lib64 lib/x64 lib
89+
../extras/CUPTI/lib64/
90+
../extras/CUPTI/lib/
91+
)
92+
endif()
93+
7494
target_link_libraries(sycl_pi_trace_collector
7595
PRIVATE
7696
cudadrv
7797
${CUDA_cupti_LIBRARY}
7898
)
7999

80-
find_path (GEN_CUDA_META_H_DIR generated_cuda_meta.h
81-
PATH
82-
${CUDAToolkit_INCLUDE_DIRS}
100+
find_path(GEN_CUDA_META_H_DIR generated_cuda_meta.h PATHS
83101
"${CUDA_TOOLKIT_ROOT_DIR}/extras/CUPTI/include"
84-
)
102+
"${CUDA_INCLUDE_DIRS}/../extras/CUPTI/include"
103+
"${CUDA_INCLUDE_DIRS}"
104+
NO_DEFAULT_PATH)
85105

86106
if( EXISTS "${GEN_CUDA_META_H_DIR}/generated_cuda_meta.h" )
87107
add_custom_target(cuda-pretty-printers

0 commit comments

Comments
 (0)