################################################################################################ # Config hip compilation. # Usage: # dgl_config_hip() 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}) add_definitions(-DDGL_USE_CUDA) # src/array/cuda/spmm_hetero.cu add_definitions(-DCUDART_VERSION_LT_11000=true) # set(DGL_DEBUG_SRC # src/array/cuda/csr_transpose.cc # src/array/cuda/array_cumsum.cu # src/array/cuda/array_index_select.cu # src/array/cuda/array_nonzero.cu # src/array/cuda/array_op_impl.cu # src/array/cuda/array_scatter.cu # src/array/cuda/array_sort.cu # src/array/cuda/coo2csr.cu # src/array/cuda/coo_sort.cu # src/array/cuda/csr2coo.cu # src/array/cuda/csr_get_data.cu # src/array/cuda/csr_mm.cu # src/array/cuda/csr_sort.cu # src/array/cuda/csr_sum.cu # src/array/cuda/cuda_filter.cu # src/array/cuda/disjoint_union.cu # src/array/cuda/gather_mm.cu # src/array/cuda/negative_sampling.cu # src/array/cuda/rowwise_sampling.cu # src/array/cuda/rowwise_sampling_prob.cu # src/array/cuda/sddmm.cu # src/array/cuda/sddmm_hetero_coo.cu # src/array/cuda/sddmm_hetero_csr.cu # src/array/cuda/segment_reduce.cu # src/array/cuda/spmat_op_impl_coo.cu # src/array/cuda/spmat_op_impl_csr.cu # src/array/cuda/spmm.cu # src/array/cuda/spmm_hetero.cu # src/array/cuda/utils.cu # src/array/cuda/uvm/array_index_select_uvm.cu # src/partition/cuda/partition_op.cu # src/runtime/cuda/cuda_device_api.cc # src/runtime/cuda/cuda_hashtable.cu # src/runtime/cuda/nccl_api.cu # src/geometry/cuda/geometry_op_impl.cu # src/graph/transform/cuda/cuda_compact_graph.cu # src/graph/transform/cuda/cuda_to_block.cu # src/graph/transform/cuda/knn.cu # src/graph/sampling/randomwalks/frequency_hashmap.cu # src/graph/sampling/randomwalks/get_node_types_gpu.cu # src/graph/sampling/randomwalks/randomwalk_gpu.cu # ) 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) # set(${out_variable} ${DGL_DEBUG_SRC}) 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()