nvtx.cmake 1.14 KB
Newer Older
“yuguo”'s avatar
2.5  
“yuguo” committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
if((NOT WITH_GPU)
   OR WIN32
   OR APPLE)
  set(NVTX_FOUND OFF)
  return()
endif()

set(NVTX_ROOT
    "/usr"
    CACHE PATH "NVTX ROOT")
find_path(
  NVTX_INCLUDE_DIR nvToolsExt.h
  PATHS ${NVTX_ROOT} ${NVTX_ROOT}/include $ENV{NVTX_ROOT}
        $ENV{NVTX_ROOT}/include ${CUDA_TOOLKIT_INCLUDE}
  NO_DEFAULT_PATH)

get_filename_component(__libpath_hint ${CUDA_CUDART_LIBRARY} PATH)

set(TARGET_ARCH "x86_64")
if(NOT ${CMAKE_SYSTEM_PROCESSOR})
  set(TARGET_ARCH ${CMAKE_SYSTEM_PROCESSOR})
endif()

list(
  APPEND
  NVTX_CHECK_LIBRARY_DIRS
  ${NVTX_ROOT}
  ${NVTX_ROOT}/lib64
  ${NVTX_ROOT}/lib
  ${NVTX_ROOT}/lib/${TARGET_ARCH}-linux-gnu
  $ENV{NVTX_ROOT}
  $ENV{NVTX_ROOT}/lib64
  $ENV{NVTX_ROOT}/lib
  ${CUDA_TOOLKIT_ROOT_DIR}
  ${CUDA_TOOLKIT_ROOT_DIR}/targets/${TARGET_ARCH}-linux/lib)

find_library(
  CUDA_NVTX_LIB
  NAMES libnvToolsExt.so
  PATHS ${NVTX_CHECK_LIBRARY_DIRS} ${NVTX_INCLUDE_DIR} ${__libpath_hint}
  NO_DEFAULT_PATH
  DOC "Path to the NVTX library.")

if(NVTX_INCLUDE_DIR AND CUDA_NVTX_LIB)
  set(NVTX_FOUND ON)
else()
  set(NVTX_FOUND OFF)
endif()

if(NVTX_FOUND)
  include_directories(${NVTX_INCLUDE_DIR})
  add_definitions(-DCINN_WITH_NVTX)
endif()