ROCM.cmake 1.73 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
################################################################################################
# Config hip compilation.
# Usage:
#   dgl_config_hip(<dgl_cuda_src>)
macro(dgl_config_hip out_variable)
  if(NOT HIP_FOUND)
    message(FATAL_ERROR "Cannot find HIP.")
  endif()
  # always set the includedir when cuda is available
  # avoid global retrigger of cmake
	include_directories(${CUDA_INCLUDE_DIRS})

lisj's avatar
lisj committed
13
14
15
16
  add_definitions(-DDGL_USE_CUDA)
  add_definitions(-D__HIP_PLATFORM_AMD__)
  add_definitions(-DCUDART_VERSION_LT_11000=true)

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
  set_source_files_properties(src/random/random.cc PROPERTIES HIP_SOURCE_PROPERTY_FORMAT 1)
  set_source_files_properties(src/array/cuda/csr_transpose.cc PROPERTIES HIP_SOURCE_PROPERTY_FORMAT 1)
  set_source_files_properties(src/runtime/cuda/cuda_device_api.cc PROPERTIES HIP_SOURCE_PROPERTY_FORMAT 1)

  file(GLOB_RECURSE DGL_HIP_SRC
    src/array/cuda/*.cc
    src/array/cuda/*.cu
    src/array/cuda/uvm/*.cc
    src/array/cuda/uvm/*.cu
    src/kernel/cuda/*.cc
    src/kernel/cuda/*.cu
    src/partition/cuda/*.cu
    src/runtime/cuda/*.cc
    src/runtime/cuda/*.cu
    src/geometry/cuda/*.cu
    src/graph/transform/cuda/*.cu
    src/graph/sampling/randomwalks/*.cu
  )

  find_library(DCU_RUNTIME amdhip64 ${ROCM_PATH}/lib)
  find_library(DCU_SPARSE hipsparse ${ROCM_PATH}/lib)
  find_library(DCU_BLAS hipblas ${ROCM_PATH}/lib)
  find_library(DCU_RAND hiprand ${ROCM_PATH}/lib)
  message(STATUS "Found DCU_RUNTIME: ${DCU_RUNTIME}")
  message(STATUS "Found DCU_SPARSE: ${DCU_SPARSE}")
  message(STATUS "Found DCU_BLAS: ${DCU_BLAS}")
  message(STATUS "Found DCU_RAND: ${DCU_RAND}")

  list(APPEND DGL_LINKER_LIBS
    ${DCU_RUNTIME}
    ${DCU_SPARSE}
    ${DCU_BLAS}
    ${DCU_RAND}
  )

  set(${out_variable} ${DGL_HIP_SRC})
endmacro()