Merge pull request #936 from mangupta/swdev-174923
[hipconfig] Update HIP_PLATFORM detection logic
This commit is contained in:
+18
-5
@@ -59,6 +59,18 @@ sub parse_config_file {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#---
|
||||||
|
# Function to check if executable can be run
|
||||||
|
sub can_run {
|
||||||
|
my ($exe) = @_;
|
||||||
|
`$exe --version 2>&1`;
|
||||||
|
if ($? == 0) {
|
||||||
|
return 1;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$CUDA_PATH=$ENV{'CUDA_PATH'} // '/usr/local/cuda';
|
$CUDA_PATH=$ENV{'CUDA_PATH'} // '/usr/local/cuda';
|
||||||
$HCC_HOME=$ENV{'HCC_HOME'} // '/opt/rocm/hcc';
|
$HCC_HOME=$ENV{'HCC_HOME'} // '/opt/rocm/hcc';
|
||||||
$HSA_PATH=$ENV{'HSA_PATH'} // '/opt/rocm/hsa';
|
$HSA_PATH=$ENV{'HSA_PATH'} // '/opt/rocm/hsa';
|
||||||
@@ -67,12 +79,13 @@ $HSA_PATH=$ENV{'HSA_PATH'} // '/opt/rocm/hsa';
|
|||||||
#HIP_PLATFORM controls whether to use NVCC or HCC for compilation:
|
#HIP_PLATFORM controls whether to use NVCC or HCC for compilation:
|
||||||
$HIP_PLATFORM=$ENV{'HIP_PLATFORM'};
|
$HIP_PLATFORM=$ENV{'HIP_PLATFORM'};
|
||||||
if (not defined $HIP_PLATFORM) {
|
if (not defined $HIP_PLATFORM) {
|
||||||
$NAMDGPUNODES=`cat /sys/class/kfd/kfd/topology/nodes/*/properties 2>/dev/null | grep -c 'simd_count [1-9]'`;
|
if (can_run("$HCC_HOME/bin/hcc") or can_run("hcc")) {
|
||||||
|
$HIP_PLATFORM = "hcc";
|
||||||
if ($NAMDGPUNODES > 0) {
|
} elsif (can_run("$CUDA_PATH/bin/nvcc") or can_run("nvcc")) {
|
||||||
$HIP_PLATFORM = "hcc"
|
|
||||||
} else {
|
|
||||||
$HIP_PLATFORM = "nvcc";
|
$HIP_PLATFORM = "nvcc";
|
||||||
|
} else {
|
||||||
|
# Default to hcc for now
|
||||||
|
$HIP_PLATFORM = "hcc";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user