@@ -4,31 +4,40 @@ message(STATUS "Including the PI API CUDA backend.")
4
4
# we only require the CUDA driver API to be used
5
5
# CUDA_CUDA_LIBRARY variable defines the path to libcuda.so, the CUDA Driver API library.
6
6
7
- find_package (CUDAToolkit 10.1 REQUIRED )
8
-
9
- message (STATUS "Including the PI API CUDA backend." )
7
+ find_package (CUDA 10.1 REQUIRED )
10
8
11
9
# Make imported library global to use it within the project.
12
10
add_library (cudadrv SHARED IMPORTED GLOBAL )
13
11
14
12
if (WIN32 )
15
13
set_target_properties (
16
14
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 }
19
17
)
20
18
else ()
21
19
set_target_properties (
22
20
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 }
25
23
)
26
24
endif ()
27
25
28
26
if (SYCL_ENABLE_XPTI_TRACING )
29
27
set (XPTI_PROXY_SRC "${CMAKE_SOURCE_DIR} /../xpti/src/xpti_proxy.cpp" )
30
28
endif ()
31
29
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
+
32
41
add_sycl_plugin (cuda
33
42
SOURCES
34
43
"${sycl_inc_dir} /sycl/detail/pi.h"
@@ -51,10 +60,18 @@ if (SYCL_ENABLE_XPTI_TRACING)
51
60
target_link_libraries (pi_cuda PRIVATE ${CMAKE_DL_LIBS} )
52
61
endif ()
53
62
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
+
54
71
target_include_directories (pi_cuda
55
72
PRIVATE
56
73
${sycl_inc_dir}
57
- " ${CUDA_TOOLKIT_ROOT_DIR} /extras/CUPTI/include"
74
+ ${_CUPTI_INCLUDE_DIR}
58
75
)
59
76
60
77
set_target_properties (pi_cuda PROPERTIES LINKER_LANGUAGE CXX )
0 commit comments