diff --git a/CMakeLists.txt b/CMakeLists.txt index b2b67fbc0e..a249f0efbc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -71,6 +71,16 @@ if(NOT (HIP_COMPILER STREQUAL "hcc" OR HIP_COMPILER STREQUAL "clang")) message(FATAL_ERROR "Must use HIP_COMPILER as hcc or clang") endif() message(STATUS "HIP Compiler: " ${HIP_COMPILER}) +add_to_config(_buildInfo HIP_COMPILER) + +# Determine HIP_RUNTIME +# Either HCC or VDI; default is HCC +if(NOT DEFINED ENV{HIP_RUNTIME}) + set(HIP_RUNTIME "HCC" CACHE STRING "HIP Runtime") +else() + set(HIP_RUNTIME $ENV{HIP_RUNTIME} CACHE STRING "HIP Runtime") +endif() +add_to_config(_buildInfo HIP_RUNTIME) # If HIP_PLATFORM is hcc, we need HCC_HOME and HSA_PATH to be defined diff --git a/bin/hipcc b/bin/hipcc index a717a0bf92..6557a2e04f 100755 --- a/bin/hipcc +++ b/bin/hipcc @@ -93,6 +93,13 @@ sub delete_temp_dirs { $HIP_PLATFORM= `$HIP_PATH/bin/hipconfig --platform` // "hcc"; $HIP_VERSION= `$HIP_PATH/bin/hipconfig --version`; ($HIP_VERSION_MAJOR, $HIP_VERSION_MINOR, $HIP_VERSION_PATCH) = split(/\./, $HIP_VERSION); +$HIP_COMPILER= $hipConfig{'HIP_COMPILER'}; +$HIP_RUNTIME= $hipConfig{'HIP_RUNTIME'}; + +# If using VDI runtime, need to find HIP_VDI_HOME +if ($HIP_RUNTIME eq "VDI" and !defined $HIP_VDI_HOME) { + $HIP_VDI_HOME = "/opt/rocm/hip" +} if (defined $HIP_VDI_HOME) { my $bits = ""; @@ -110,8 +117,14 @@ if (defined $HIP_VDI_HOME) { $HIP_LIB_PATH = "$HIP_VDI_HOME/lib" . $bits; } -if (defined $HIP_CLANG_PATH) { - $HIP_PLATFORM = "clang" +if ($HIP_COMPILER eq "clang") { + $HIP_PLATFORM = "clang"; + if (!defined $HIP_CLANG_PATH) { + $HIP_CLANG_PATH = "/opt/rocm/llvm/bin"; + } + if (!defined $DEVICE_LIB_PATH) { + $DEVICE_LIB_PATH = "/opt/rocm/lib"; + } } if ($verbose & 0x2) {