From 80722e5505ff488e5d17e2434238e6eb3140cab7 Mon Sep 17 00:00:00 2001 From: Konstantin Zhuravlyov Date: Fri, 3 May 2024 12:32:29 -0400 Subject: [PATCH] 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 --- catch/CMakeLists.txt | 19 +++++++++++-------- samples/CMakeLists.txt | 15 ++++++++------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/catch/CMakeLists.txt b/catch/CMakeLists.txt index f13276349c..0f08c3416b 100644 --- a/catch/CMakeLists.txt +++ b/catch/CMakeLists.txt @@ -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) diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt index dfcd7e8702..10b4a09f14 100644 --- a/samples/CMakeLists.txt +++ b/samples/CMakeLists.txt @@ -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)