ROCm used to install components under individual directories, e.g. HIP installed to /opt/rocm/hip and rocblas installed to /opt/rocm/rocblas. ROCm has transitioned to a flat directory structure where all components are installed to /opt/rocm. HIP-PATH and --hip-path are supposed to be /opt/rocm as clang detect HIP version by /opt/rocm/share/hip/version. However, some existing HIP app still uses HIP-PATH=/opt/rocm/hip. To avoid regression, clang will also try detect share/hip/version under the parent directory of HIP-PATH or --hip-path. This way, the detection will work for both new HIP-PATH and old HIP-PATH. Reviewed by: Artem Belevich Differential Revision: https://reviews.llvm.org/D154077 Fixes: SWDEV-407757
81 lines
2.9 KiB
Plaintext
81 lines
2.9 KiB
Plaintext
// REQUIRES: x86-registered-target
|
|
// REQUIRES: amdgpu-registered-target
|
|
// UNSUPPORTED: target={{.*}}-aix{{.*}}
|
|
|
|
// RUN: %clang -v --rocm-path=%S/Inputs/rocm 2>&1 \
|
|
// RUN: | FileCheck -check-prefixes=FOUND %s
|
|
|
|
// RUN: env ROCM_PATH=%S/Inputs/rocm %clang -v 2>&1 \
|
|
// RUN: | FileCheck -check-prefixes=FOUND %s
|
|
|
|
// RUN: %clang -v --rocm-path=%S/Inputs/rocm 2>&1 \
|
|
// RUN: --target=amdgcn-amd-amdhsa \
|
|
// RUN: | FileCheck -check-prefixes=FOUND %s
|
|
|
|
// RUN: %clang -v --hip-path=%S/Inputs/rocm 2>&1 \
|
|
// RUN: | FileCheck -check-prefixes=FOUND %s
|
|
|
|
// RUN: env HIP_PATH=%S/Inputs/rocm %clang -v 2>&1 \
|
|
// RUN: | FileCheck -check-prefixes=FOUND %s
|
|
|
|
// RUN: rm -rf %t/Inputs
|
|
// RUN: mkdir -p %t/Inputs
|
|
// RUN: cp -r %S/Inputs/rocm %t/Inputs
|
|
// RUN: mkdir -p %t/Inputs/rocm/share/hip
|
|
// RUN: mkdir -p %t/Inputs/rocm/hip
|
|
// RUN: mv %t/Inputs/rocm/bin/.hipVersion %t/Inputs/rocm/share/hip/version
|
|
// RUN: %clang -v --rocm-path=%t/Inputs/rocm 2>&1 \
|
|
// RUN: | FileCheck -check-prefixes=FOUND %s
|
|
// RUN: %clang -v --hip-path=%t/Inputs/rocm 2>&1 \
|
|
// RUN: | FileCheck -check-prefixes=FOUND %s
|
|
// RUN: %clang -v --hip-path=%t/Inputs/rocm/hip 2>&1 \
|
|
// RUN: | FileCheck -check-prefixes=HIP-PATH %s
|
|
|
|
// FOUND: Found HIP installation: {{.*Inputs.*rocm}}, version 3.6.20214-a2917cd
|
|
// HIP-PATH: Found HIP installation: {{.*Inputs.*rocm.*hip}}, version 3.6.20214-a2917cd
|
|
|
|
// When --rocm-path is set and .hipVersion is not found, use default version
|
|
|
|
// RUN: %clang -v --rocm-path=%S 2>&1 \
|
|
// RUN: | FileCheck -check-prefixes=DEFAULT %s
|
|
|
|
// When --hip-path is set and .hipVersion is not found, use default version
|
|
|
|
// RUN: %clang -v --hip-path=%S 2>&1 \
|
|
// RUN: | FileCheck -check-prefixes=DEFAULT %s
|
|
|
|
// RUN: %clang -v --rocm-path=%S 2>&1 \
|
|
// RUN: --target=amdgcn-amd-amdhsa \
|
|
// RUN: | FileCheck -check-prefixes=DEFAULT %s
|
|
|
|
// DEFAULT: Found HIP installation: {{.*Driver}}, version 3.5.
|
|
|
|
// RUN: %clang -v --rocm-path=%S --hip-version=3.7.0 2>&1 \
|
|
// RUN: | FileCheck -check-prefixes=SPECIFIED %s
|
|
|
|
// RUN: %clang -v --rocm-path=%S --hip-version=3.7.0 2>&1 \
|
|
// RUN: --target=amdgcn-amd-amdhsa \
|
|
// RUN: | FileCheck -check-prefixes=SPECIFIED %s
|
|
|
|
// SPECIFIED: Found HIP installation: {{.*Driver}}, version 3.7.0
|
|
|
|
// RUN: %clang -v --rocm-path=%S --hip-version=3.7 2>&1 \
|
|
// RUN: | FileCheck -check-prefixes=SPECIFIED2 %s
|
|
|
|
// SPECIFIED2: Found HIP installation: {{.*Driver}}, version 3.7.0
|
|
|
|
// RUN: %clang -v --rocm-path=%S --hip-version=4.0.21025 2>&1 \
|
|
// RUN: | FileCheck -check-prefixes=SPECIFIED3 %s
|
|
|
|
// SPECIFIED3: Found HIP installation: {{.*Driver}}, version 4.0.21025
|
|
|
|
// RUN: %clang -v --rocm-path=%S --hip-version=4 2>&1 \
|
|
// RUN: | FileCheck -check-prefixes=SPECIFIED4 %s
|
|
|
|
// SPECIFIED4: Found HIP installation: {{.*Driver}}, version 4.0.0
|
|
|
|
// RUN: not %clang -v --rocm-path=%S --hip-version=x.y 2>&1 \
|
|
// RUN: | FileCheck -check-prefixes=INVALID %s
|
|
|
|
// INVALID: error: invalid value 'x.y' in '--hip-version=x.y'
|