hipcc hacks and workarounds

- force hipcc.bin on windows
    - avoids perl, which randomly can't spawn processes
  - force hipconfig.bat on windows
    - hipconfig.bin does not print hip version for some reason
    - i will file a ticket for this

Change-Id: Ib9fb981844213b038f6d1cc3288148116295b58c
This commit is contained in:
Konstantin Zhuravlyov
2024-05-03 12:32:29 -04:00
committed by Konstantin Zhuravlyov
parent 195570e142
commit 80722e5505
2 changed files with 19 additions and 15 deletions
+11 -8
View File
@@ -16,10 +16,6 @@ if(NOT HIP_PLATFORM STREQUAL "amd" AND NOT HIP_PLATFORM STREQUAL "nvidia")
message(FATAL_ERROR "Unexpected HIP_PLATFORM: " ${HIP_PLATFORM})
endif()
if(WIN32)
set(EXT ".bat")
endif()
if(HIP_PLATFORM STREQUAL "amd")
if(UNIX AND DEFINED ROCM_PATH)
# Read -DROCM_PATH and set CXX_FLAGS for amd platform only
@@ -57,10 +53,17 @@ endif()
message(STATUS "HIP_PATH: ${HIP_PATH}")
message(STATUS "ROCM_PATH: ${ROCM_PATH}")
set(CMAKE_CXX_COMPILER "${HIP_PATH}/bin/hipcc${EXT}")
set(CMAKE_C_COMPILER "${HIP_PATH}/bin/hipcc${EXT}")
set(HIPCONFIG_EXECUTABLE "${HIP_PATH}/bin/hipconfig${EXT}")
execute_process(COMMAND ${HIPCONFIG_EXECUTABLE} --version
if(UNIX)
set(HIPCC_EXEC "hipcc")
set(HIPCONFIG_EXEC "hipconfig")
else()
set(HIPCC_EXEC "hipcc.bin")
set(HIPCONFIG_EXEC "hipconfig.bat")
endif()
set(CMAKE_C_COMPILER "${HIP_PATH}/bin/${HIPCC_EXEC}")
set(CMAKE_CXX_COMPILER "${HIP_PATH}/bin/${HIPCC_EXEC}")
execute_process(COMMAND ${HIP_PATH}/bin/${HIPCONFIG_EXEC} --version
OUTPUT_VARIABLE HIP_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE)
+8 -7
View File
@@ -23,10 +23,6 @@ project(hip-samples)
option(ENABLE_ADDRESS_SANITIZER "Option to enable ASAN build" OFF)
if (WIN32)
set(EXT ".bat")
endif()
# Read -DROCM_Path and env{ROCM_PATH}
if(NOT DEFINED ROCM_PATH)
if(DEFINED ENV{ROCM_PATH})
@@ -41,12 +37,18 @@ if(NOT DEFINED HIP_PATH)
endif()
endif()
if(UNIX)
set(HIPCONFIG_EXEC "hipconfig")
else()
set(HIPCONFIG_EXEC "hipconfig.bat")
endif()
# both are not set
if(NOT DEFINED HIP_PATH AND NOT DEFINED ROCM_PATH)
set(HIP_PATH "/opt/rocm")
set(ROCM_PATH "/opt/rocm")
elseif(DEFINED HIP_PATH AND NOT DEFINED ROCM_PATH)
execute_process(COMMAND ${HIP_PATH}/bin/hipconfig${EXT} --rocmpath
execute_process(COMMAND ${HIP_PATH}/bin/${HIPCONFIG_EXEC} --rocmpath
OUTPUT_VARIABLE ROCM_PATH
OUTPUT_STRIP_TRAILING_WHITESPACE)
elseif(DEFINED ROCM_PATH AND NOT DEFINED HIP_PATH)
@@ -55,8 +57,7 @@ endif()
message(STATUS "HIP_PATH: ${HIP_PATH}")
message(STATUS "ROCM_PATH: ${ROCM_PATH}")
set(HIPCONFIG_EXECUTABLE "${HIP_PATH}/bin/hipconfig${EXT}")
execute_process(COMMAND ${HIPCONFIG_EXECUTABLE} --version
execute_process(COMMAND ${HIP_PATH}/bin/${HIPCONFIG_EXEC} --version
OUTPUT_VARIABLE HIP_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE)