Disable HIP_PLATFORM auto-detect if already defined (#254)
Co-authored-by: Stella Laurenzo <stellaraccident@gmail.com>
[ROCm/clr commit: 3775298655]
This commit is contained in:
zatwierdzone przez
GitHub
rodzic
13d8f9adae
commit
ee91a1e94a
@@ -52,40 +52,51 @@ endif()
|
||||
#############
|
||||
# Build steps
|
||||
#############
|
||||
if(CLR_BUILD_HIP)
|
||||
if (UNIX)
|
||||
set(HIPCC_EXECUTABLE "hipcc")
|
||||
set(HIPCONFIG_EXECUTABLE "hipconfig")
|
||||
else()
|
||||
set(HIPCC_EXECUTABLE "hipcc.exe")
|
||||
set(HIPCONFIG_EXECUTABLE "hipconfig.exe")
|
||||
endif()
|
||||
|
||||
# Attempt to auto-detect HIP_PLATFORM by interrogating hipconfig. This is kept
|
||||
# for compatibility: users are advised to pass HIP_PLATFORM explicitly.
|
||||
# Sets the HIP_PLATFORM variable in the parent scope.
|
||||
function(_hip_clr_auto_detect_hip_platform)
|
||||
if (UNIX)
|
||||
set(HIPCC_EXECUTABLE "hipcc")
|
||||
set(HIPCONFIG_EXECUTABLE "hipconfig")
|
||||
else()
|
||||
set(HIPCC_EXECUTABLE "hipcc.exe")
|
||||
set(HIPCONFIG_EXECUTABLE "hipconfig.exe")
|
||||
endif()
|
||||
|
||||
# Set default HIPCC_BIN_DIR to /opt/rocm/bin
|
||||
if(NOT DEFINED HIPCC_BIN_DIR AND UNIX)
|
||||
set(HIPCC_BIN_DIR "/opt/rocm/bin" CACHE STRING "Default hipcc directory on linux.")
|
||||
set(HIPCC_BIN_DIR "/opt/rocm/bin")
|
||||
endif()
|
||||
message(STATUS "HIPCC Binary Directory: ${HIPCC_BIN_DIR}")
|
||||
message(STATUS "Auto-detect HIP_PLATFORM from HIPCC Binary Directory: ${HIPCC_BIN_DIR}")
|
||||
|
||||
if(NOT EXISTS ${HIPCC_BIN_DIR}/${HIPCONFIG_EXECUTABLE})
|
||||
message(FATAL_ERROR "Please pass hipcc/build or hipcc/bin using -DHIPCC_BIN_DIR.")
|
||||
endif()
|
||||
|
||||
message(STATUS "HIP Common Directory: ${HIP_COMMON_DIR}")
|
||||
if(NOT DEFINED HIP_COMMON_DIR)
|
||||
message(FATAL_ERROR "Please pass HIP using -DHIP_COMMON_DIR. HIP_COMMON_DIR is incorrect")
|
||||
endif()
|
||||
# Determine HIP_PLATFORM
|
||||
if(NOT DEFINED HIP_PLATFORM)
|
||||
if(NOT DEFINED ENV{HIP_PLATFORM})
|
||||
execute_process(COMMAND ${HIPCC_BIN_DIR}/${HIPCONFIG_EXECUTABLE} --platform
|
||||
OUTPUT_VARIABLE HIP_PLATFORM
|
||||
OUTPUT_VARIABLE _detected_hip_platform
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
set(HIP_PLATFORM "${_detected_hip_platform}" PARENT_SCOPE)
|
||||
else()
|
||||
set(HIP_PLATFORM $ENV{HIP_PLATFORM} CACHE STRING "HIP Platform")
|
||||
set(HIP_PLATFORM "$ENV{HIP_PLATFORM}" PARENT_SCOPE)
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
||||
if(CLR_BUILD_HIP)
|
||||
message(STATUS "HIP Common Directory: ${HIP_COMMON_DIR}")
|
||||
if(NOT DEFINED HIP_COMMON_DIR)
|
||||
message(FATAL_ERROR "Please pass HIP using -DHIP_COMMON_DIR. HIP_COMMON_DIR is incorrect")
|
||||
endif()
|
||||
if(NOT DEFINED HIP_PLATFORM)
|
||||
_hip_clr_auto_detect_hip_platform()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CLR_BUILD_HIP)
|
||||
option(BUILD_SHARED_LIBS "Build the shared library" ON)
|
||||
if (NOT BUILD_SHARED_LIBS)
|
||||
|
||||
@@ -52,7 +52,8 @@ if(MSVC)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DEBUG:FULL")
|
||||
endif()
|
||||
|
||||
set(HIPCC_BIN_DIR "" CACHE STRING "HIPCC and HIPCONFIG binary directories")
|
||||
# Set default HIPCC_BIN_DIR to /opt/rocm/bin
|
||||
set(HIPCC_BIN_DIR "/opt/rocm/bin" CACHE STRING "HIPCC and HIPCONFIG binary directories")
|
||||
|
||||
if(__HIP_ENABLE_PCH)
|
||||
set(_pchStatus 1)
|
||||
@@ -409,9 +410,11 @@ endif()
|
||||
install(FILES ${PROJECT_BINARY_DIR}/include/hip/hip_version.h
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/hip)
|
||||
|
||||
set(HIP_INSTALLS_HIPCC OFF)
|
||||
if (NOT ${HIPCC_BIN_DIR} STREQUAL "")
|
||||
file(TO_CMAKE_PATH "${HIPCC_BIN_DIR}" HIPCC_BIN_DIR)
|
||||
if(EXISTS ${HIPCC_BIN_DIR})
|
||||
set(HIP_INSTALLS_HIPCC ON)
|
||||
install(PROGRAMS ${HIPCC_BIN_DIR}/${HIPCC_EXECUTABLE} DESTINATION bin)
|
||||
install(PROGRAMS ${HIPCC_BIN_DIR}/${HIPCONFIG_EXECUTABLE} DESTINATION bin)
|
||||
install(PROGRAMS ${HIPCC_BIN_DIR}/hipcc.pl DESTINATION bin)
|
||||
|
||||
@@ -101,12 +101,14 @@ set_and_check( hip_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@" )
|
||||
set_and_check( hip_INCLUDE_DIRS "${hip_INCLUDE_DIR}" )
|
||||
set_and_check( hip_LIB_INSTALL_DIR "@PACKAGE_LIB_INSTALL_DIR@" )
|
||||
set_and_check( hip_BIN_INSTALL_DIR "@PACKAGE_BIN_INSTALL_DIR@" )
|
||||
if (WIN32)
|
||||
set_and_check(hip_HIPCC_EXECUTABLE "${hip_BIN_INSTALL_DIR}/hipcc.exe")
|
||||
set_and_check(hip_HIPCONFIG_EXECUTABLE "${hip_BIN_INSTALL_DIR}/hipconfig.exe")
|
||||
else()
|
||||
set_and_check(hip_HIPCC_EXECUTABLE "${hip_BIN_INSTALL_DIR}/hipcc")
|
||||
set_and_check(hip_HIPCONFIG_EXECUTABLE "${hip_BIN_INSTALL_DIR}/hipconfig")
|
||||
if("@HIP_INSTALLS_HIPCC@")
|
||||
if (WIN32)
|
||||
set_and_check(hip_HIPCC_EXECUTABLE "${hip_BIN_INSTALL_DIR}/hipcc.exe")
|
||||
set_and_check(hip_HIPCONFIG_EXECUTABLE "${hip_BIN_INSTALL_DIR}/hipconfig.exe")
|
||||
else()
|
||||
set_and_check(hip_HIPCC_EXECUTABLE "${hip_BIN_INSTALL_DIR}/hipcc")
|
||||
set_and_check(hip_HIPCONFIG_EXECUTABLE "${hip_BIN_INSTALL_DIR}/hipconfig")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED HIP_PLATFORM)
|
||||
@@ -140,6 +142,7 @@ set(HIP_LIB_INSTALL_DIR ${hip_LIB_INSTALL_DIR})
|
||||
set(HIP_BIN_INSTALL_DIR ${hip_BIN_INSTALL_DIR})
|
||||
set(HIP_LIBRARIES ${hip_LIBRARIES})
|
||||
set(HIP_LIBRARY ${hip_LIBRARY})
|
||||
set(HIP_HIPCC_EXECUTABLE ${hip_HIPCC_EXECUTABLE})
|
||||
set(HIP_HIPCONFIG_EXECUTABLE ${hip_HIPCONFIG_EXECUTABLE})
|
||||
|
||||
if("@HIP_INSTALLS_HIPCC@")
|
||||
set(HIP_HIPCC_EXECUTABLE ${hip_HIPCC_EXECUTABLE})
|
||||
set(HIP_HIPCONFIG_EXECUTABLE ${hip_HIPCONFIG_EXECUTABLE})
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user