summaryrefslogtreecommitdiffstats
path: root/Modules/CMakeDetermineHIPCompiler.cmake
Commit message (Collapse)AuthorAgeFilesLines
* HIP: Add CMAKE_HIP_HOST_COMPILER when compiler is NVCCBrad King2023-09-251-0/+10
| | | | Also add `HIPHOSTCXX` environment variable.
* HIP: Do not require hip-lang package for NVIDIA platformBrad King2023-09-251-45/+49
| | | | | | | ROCm may not install the `hip-lang` cmake package on NVIDIA platforms. Skip verifying its presence. We do not use it for NVIDIA platforms anyway. Fixes: #25271
* HIP: Simplify CMAKE_GENERATOR references for determining compilerBrad King2023-09-251-2/+2
|
* HIP: Add support for NVIDIA GPUsBrad King2023-09-211-10/+92
| | | | | | Add support for using the CUDA Toolkit's NVCC to compile HIP code. Fixes: #25143
* HIP: Add CMAKE_HIP_PLATFORM variable to specify GPU platformBrad King2023-09-211-8/+20
| | | | | For now, require the value to be `amd`, since that is the only platform we currently support.
* HIP: Fix search for hip-lang CMake package on Fedora distrosBrad King2023-07-051-1/+10
| | | | | | | | These distros package the hip-lang package under `lib64`, so search it too. This is similar to commit bae57dc281 (HIP: Fix search for hip-lang CMake package on multiarch distros, 2023-05-31, v3.27.0-rc1~28^2). Fixes: #25050
* HIP: Fix search for hip-lang CMake package on multiarch distrosBrad King2023-05-311-7/+43
| | | | | | | | | | We need `CMAKE_LIBRARY_ARCHITECTURE` to find the package before HIP compiler ABI detection. However, if HIP is the first enabled language, the value is not known until `CMAKE_HIP_LIBRARY_ARCHITECTURE` is determined by the ABI detection step. Resolve this by detecting `CMAKE_HIP_LIBRARY_ARCHITECTURE` from the compiler id output. Fixes: #24562
* HIP: Convert clang output to cmake style pathsGergely Meszaros2022-10-091-0/+1
| | | | | On windows the location of the rocm root directory as reported by clang might be in windows style (with backslashes) which breaks the cache.
* HIP: Simplify detection of HIP runtime CMake packageBrad King2021-09-161-0/+20
| | | | | | | It only makes sense to use the CMake package from the same ROCm installation that the compiler uses. Ask the HIP compiler to report the location of the ROCm installation. Verify up front that it contains the expected CMake package file.
* HIP: Remove ROMClang compiler id and use Clang directlyBrad King2021-09-161-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit bd844387df (ROCMClang: Add the ROCm toolkit derived clang compiler to CMake, 2020-08-28, v3.21.0-rc1~66^2~6) and commit ff0d2858e1 (HIP: Extract clang compiler details from hipcc, 2020-10-21, v3.21.0-rc1~66^2~5), the separate `ROCMClang` compiler id for `hipcc` has caused a few problems: * The compiler id changed from behavior of CMake 3.20 and below, breaking projects that already built with `hipcc` treated as `Clang`. * The implementation of `target_compile_features` was incomplete for the `ROCMClang` identity. * Only `hipcc` was identified as `ROCMClang`, so after it is unwrapped to the underlying `clang++`, future runs of new CMake versions on an existing build tree would not repeat this. * Clang should be usable as a HIP compiler without the `hipcc` wrapper. Remove the `ROMClang` compiler identity, and revise HIP language support to work directly with a Clang compiler. Reject direct `hipcc` usage as a HIP compiler. For now it cannot be supported because it interferes with flags CMake needs to pass to Clang. Fixes: #22536, #22460, #22593
* HIP: Detect ROCm path earlierBrad King2021-09-161-0/+14
| | | | | | | | | Fail early if it is not found. Use the detected location as a hint to find `rocm_agent_enumerator`. Also remove the leading `_` prefix in case we want to document this publicly later.
* HIP: Use 'rocm_agent_enumerator' to determine CMAKE_HIP_ARCHITECTURESZack Galbreath2021-09-161-3/+34
|
* HIP: analyze output of `hipcc` to determine default GPU architectureZack Galbreath2021-06-071-1/+6
|
* HIP: Add language to CMakeRobert Maynard2021-06-071-0/+96