From 7dc152450edb2f6d941df738691c6b15d6710584 Mon Sep 17 00:00:00 2001 From: Hui Liu <96135754+hliuca@users.noreply.github.com> Date: Thu, 11 Jan 2024 13:13:14 -0800 Subject: [PATCH] workaround memoryType and change rccl config --- cmake/Utils.cmake | 4 ++-- rocgputreeshap | 2 +- src/data/array_interface.cu | 10 ++++++++++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/cmake/Utils.cmake b/cmake/Utils.cmake index 582e60e12..582b740c3 100644 --- a/cmake/Utils.cmake +++ b/cmake/Utils.cmake @@ -212,12 +212,12 @@ endmacro(xgboost_link_nccl) macro(xgboost_link_rccl target) if(BUILD_STATIC_LIB) - target_include_directories(${target} PUBLIC ${RCCL_INCLUDE_DIR}) + target_include_directories(${target} PUBLIC ${RCCL_INCLUDE_DIR}/rccl) target_compile_definitions(${target} PUBLIC -DXGBOOST_USE_RCCL=1) target_link_directories(${target} PUBLIC ${HIP_LIB_INSTALL_DIR}) target_link_libraries(${target} PUBLIC ${RCCL_LIBRARY}) else() - target_include_directories(${target} PRIVATE ${RCCL_INCLUDE_DIR}) + target_include_directories(${target} PRIVATE ${RCCL_INCLUDE_DIR}/rccl) target_compile_definitions(${target} PRIVATE -DXGBOOST_USE_RCCL=1) target_link_directories(${target} PUBLIC ${HIP_LIB_INSTALL_DIR}) target_link_libraries(${target} PRIVATE ${RCCL_LIBRARY}) diff --git a/rocgputreeshap b/rocgputreeshap index 6ceffde02..2fea6734e 160000 --- a/rocgputreeshap +++ b/rocgputreeshap @@ -1 +1 @@ -Subproject commit 6ceffde024f8752954550ebcca98caa24b5d158d +Subproject commit 2fea6734e83cf147c1bbe580ac4713cd50abcad5 diff --git a/src/data/array_interface.cu b/src/data/array_interface.cu index b27bd1c08..f6644c1fd 100644 --- a/src/data/array_interface.cu +++ b/src/data/array_interface.cu @@ -71,6 +71,7 @@ bool ArrayInterfaceHandler::IsCudaPtr(void const* ptr) { if (err == hipErrorInvalidValue) { return false; } else if (err == hipSuccess) { +#if HIP_VERSION_MAJOR < 6 switch (attr.memoryType) { case hipMemoryTypeUnified: case hipMemoryTypeHost: @@ -78,6 +79,15 @@ bool ArrayInterfaceHandler::IsCudaPtr(void const* ptr) { default: return true; } +#else + switch (attr.type) { + case hipMemoryTypeUnified: + case hipMemoryTypeHost: + return false; + default: + return true; + } +#endif return true; } else { return false;